10.

Similar documents
제1장 Unix란 무엇인가?

슬라이드 1

제12장 파일 입출력

Microsoft PowerPoint - 09-Pipe

ABC 11장

제9장 프로세스 제어

1장. 유닉스 시스템 프로그래밍 개요

제1장 Unix란 무엇인가?

chap7.key

6주차.key

<4D F736F F F696E74202D FB8DEB8F0B8AE20B8C5C7CE205BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - 10_Process

<4D F736F F F696E74202D FC7C1B7CEBCBCBDBA20BBFDBCBAB0FA20BDC7C7E0205BC8A3C8AF20B8F0B5E55D>

2009년 상반기 사업계획

2009년 상반기 사업계획

chap12(process).hwp

<C1A63130C0E5C7C1B7CEBCBCBDBA2E687770>

/chroot/lib/ /chroot/etc/

Microsoft PowerPoint - ch09_파이프 [호환 모드]

2009년 상반기 사업계획

Microsoft PowerPoint - 09_FileSystem

좀비프로세스 2

슬라이드 1

untitled

Microsoft PowerPoint APUE(File InO).pptx

Chap06(Interprocess Communication).PDF

Microsoft PowerPoint - chap9 [호환 모드]

Embeddedsystem(8).PDF

歯9장.PDF

3. 다음장에나오는 sigprocmask 함수의설명을참고하여다음프로그램의출력물과그출력물이화면이표시되는시점을예측하세요. ( 힌트 : 각줄이표시되는시점은다음 6 가지중하나. (1) 프로그램수행직후, (2) 5 초후 (3) 10 초후 (4) 15 #include <signa

제8장 프로세스

13주-14주proc.PDF

제8장 프로세스

교육지원 IT시스템 선진화

Microsoft PowerPoint APUE(File InO).ppt

Microsoft PowerPoint APUE(File InO)

학번 : 이름 : 1. 다음파일트리구조를가진유닉스시스템이있다고가정하자. / /bin/ /home/ /home/taesoo/ /usr/ /usr/lib/ /usr/local/lib /media 모든폴더에파일이하나도없다고가정했을때사용자가터미널에서다음 ls 명령입력시화면출력

Chapter #01 Subject

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

Microsoft Word - Network Programming_NewVersion_01_.docx

UI TASK & KEY EVENT

K&R2 Reference Manual 번역본

Microsoft PowerPoint - chap2

À©µµ³×Æ®¿÷ÇÁ·Î±×·¡¹Ö4Àå_ÃÖÁ¾

Microsoft PowerPoint - Lecture 4-1 Linux File Environment.ppt [호환 모드]

슬라이드 1

2009년 상반기 사업계획

Microsoft PowerPoint - chap12 [호환 모드]

전기설비의 검사˚점검 및 시험등

c

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

hlogin7

PowerPoint 프레젠테이션

슬라이드 1



고급 프로그래밍 설계

Microsoft PowerPoint APUE(Files and Directories).ppt

02.Create a shellcode that executes "/bin/sh" Excuse the ads! We need some help to keep our site up. List Create a shellcode that executes "/bin/sh" C

3. 다음장에나오는 sigprocmask 함수의설명을참고하여다음프로그램의출력물과그출력물이화면이표시되는시점을예측하세요. ( 힌트 : 각줄이표시되는시점은다음 4 가지중하나. (1) 프로그램수행직후, (2) kill 명령실행직후, (3) 15 #include <signal.

Discrete Mathematics

System Programming Lab

Sena Technologies, Inc. HelloDevice Super 1.1.0

강의10

제1장 Unix란 무엇인가?

로봇SW교육원 강의자료

학번 : 이름 1. 다음프로그램실행결과를예측하시오. $./a.out & [1] 7216 $ kill -USR $ kill -USR 아래학생이작성한쓰레드코드의문제점을설명하시오. void* thread_main() { pthread_mutex_t

PowerPoint 프레젠테이션

로봇SW교육원 강의자료

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

PowerPoint 프레젠테이션

untitled

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap3 [호환 모드]

Microsoft PowerPoint - Lecture_Note_7.ppt [Compatibility Mode]

PowerPoint 프레젠테이션

Microsoft Word - MPC850 SPI Driver.doc

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 -

1217 WebTrafMon II

The Pocket Guide to TCP/IP Sockets: C Version

Microsoft PowerPoint - polling.pptx

untitled

Microsoft PowerPoint - 알고리즘_4주차_1차시.pptx

Microsoft Word doc

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - lab14.pptx

고급 IPC 설비

Microsoft PowerPoint APUE(Intro).ppt

SRC PLUS 제어기 MANUAL

03장.스택.key

Microsoft PowerPoint - IOControl [호환 모드]

<4D F736F F F696E74202D BDC3B1D7B3CEB0FA20BDC3B1D7B3CE20C3B3B8AE2E707074>

메시지큐를이용한 IPC 프로그램구현과제보고서 1. 과제의목적 1 리눅스가지원하는프로세스간통신방식중다수의프로세스사이에구조화된데이터블럭, 즉메시지를전달하는데주로사용되는메시지큐방식에대하여무엇인지, 어떻게사용하는지공부한다. 2 공부한내용을점검하기위해기작성된 epda 프로세스관

4. What will be the output of this program? Explain results for each variable and each thread. #include "apue.h" int var=1; pthread_mutex_t lock; void

제1장 Unix란 무엇인가?

Microsoft Word - Solaris_rpc_ypupdated.doc

Transcription:

10.

10.1

10.2 Library Routine: void perror (char* str) perror( ) str Error 0

10.3

10.3 int fd; /* */ fd = open (filename, ) /*, */ if (fd = = -1) { /* */ } fcnt1 (fd, ); /* */ read (fd, ); /* */ write (fd, ); /* */... lseek close (fd) ; (fd, ); /* */ /*, */

10.3

10.3 fd1 fd2 fd3

10.3»»»»»

10.3

10.3 fd System call: int open (char* filename, int mode, [int permission])»»»

10.3»»»»»»»»

10.3»»» sprintf (tmpname,.rev.%d, getid( ) ); /* */ /* */ tmpfd = open (tmpname, O_CREAT O_RDWR, 0600); if (tmpfd == -1) fatalerror ( );»»» fd = open (filename, O_RDONLY); if (fd == -1) fatalerror ( );»

10.3 System call: int read ( int fd, char* buf, int count )» charsread = read (fd, buffer, BUFFER_SIZE); if (charsread = = 0 ) break; / * */ if (charsread = = -1) fatalerror ( ); / * */

10.3 System call: int write ( int fd, char* buf, int count )»» /* */ if (standardinput) { charswritten = = write (tmpfd, buffer, charsread ); if (charswritten! = charsread) fatalerror ( ); /* */ }

» 10.3 System call: long lseek ( int fd, long offset, int mode )»» lseek (fd, linestart[i], L_SET); /* */ charsread = read (fd, buffer, linestart [i+1] - linestart [i] ); /* = - */

10.3 System call: int close ( int fd ) System call: int unlink ( char* filename )

10.3

10.3 Utility: monitor [ -t delay ] [ -c count ] { filename }+»»»»»»

10.3»»»»»»»

10.3 System call: int stat ( char* name, struct stat* buf ) int fstat ( int fd, struct stat* buf )»»

10.3

10.3»»

10.3 System call: int readdir(dir *df)»

10.3

10.3

10.3 System call: int chown ( char* filename, int ownerid, int groupid ) int fchown ( int fd, int ownerid, int groupid )»»»»»»

10.3 System call: int chmod ( char* filename, int mode ) int fchmod ( int fd, int mode )»»

10.3 System call: int dup ( int oldfd ) int dup2 ( int oldfd, int newfd )»»»

10.3 System call: int fcntl ( int fd, int cmd, int arg)»»

10.3»

10.3 System call: int ioctl ( int fd, int cmd, int arg)»» System call: int link ( char* oldpath, char* newpath )»»»»

10.3 System call: int mknod ( char* filename, int type, int device )»

10.3 System call: int sync ( )» System call: int truncate ( char* filename, long length ) int ftruncate (int fd, long length )»»»»

10.4

10.4 부모 (init, PID=1) 자식 (getty, PID=4) 로그인처리 자식 (getty, PID=5) 로그인처리 자식 (getty, PID=6) 로그인처리

10.4 부모프로세스 (PID=34) 셸실행 부모프로세스 (PID=34) 셸실행자식프로세스기다림 자식프로세스 (PID=35) 셸실행 : exec() :wait() 자식프로세스 (PID=35) 유틸리티실행 부모프로세스 (PID=34) 셸실행깨어남 : exit() 자식프로세스 (PID=35) 종료

10.4 1 or (sleep) 2 3 4 (wake up),

10.4

10.4

10.4 System call: fork ( ) System call: int getpid ( ) int getppid ( )

10.4 System call: int exit (int status )

10.4 System call: int wait (int* status )»»»»»»»»

10.4 System call: int execl( char* Path, char* arg0,...char* argn, NULL ) int execv( char* Path, char* argv[ ] ) int execlp(char* Path, char* arg0,...char* argn, NULL) int execvp(char* Path, char* argv[ ] )»»»»»

10.4 System call: int chdir ( char* pathname )»

10.4» System call: int nice ( int delta )»»

10.4»»» System call: int getuid ( ) int geteuid( ) int getgid ( ) int getegid( )»»

10.4»»»» System call: int setuid (int id ) int seteuid (int id ) int setruid (int id ) int setgid (int id ) int setegid (int id ) int setrgid (int id )»»»

10.4 ls > ls.out»»»»»»

10.5»»»

10.5»»»»»»»»

10.5»»»» Library Routine: unsigned int alarm (unsigned int count)»»

10.5»»»»»» System call: void (*signal ( int sigcode, void ( *func) ( ) ) )( )

10.5» System call: int pause ( )

10.5»» System call: int kill ( int pid, int sigcode )»»»»»»»»

10.5»»» System call: int getpgrp ( int pid )»»

10.5»» System call: int setpgrp ( int pid, int pgrpid )»»

10.6

10.6 System call: int pipe ( int fd [ ] )»»»»»

10.6» A B C D E

10.6»»»»»»

10.6»»»»»»»