프로세스 생성
프로세스 종료 (Process Termination)
fork() 시스템 콜

A process is created by the fork() system call
- creates a new address space that is a duplicate of the caller
- 부모, 자식 프로세스가 하는 일이 다를 수 있다라는 설명

자식 프로세스는 가장 맨 위 printf를 출력하지 않고, 아래 자식 프로세스의 printf를 실행한다
exec() 시스템 콜

A process can execute a different program by the exec() system call.
- replaces the memory image of the caller with a new program.
- execlp를 실행한다면 이전의 프로그램으로 돌아올 수 없다.
- bin/data로 살아야한다는 의미

printf(”2”);는 영원히 실행이 안된다!
Wait() 시스템 콜
프로세스 A가 wait 시스템 콜을 호출하면
- 커널은 child가 종료될 때 까지 프로세스 A를 sleep 시킨다(block 상태)
- child process 가 종료되면 커널은 프로세스 A를 깨운다 (ready 상태)

부모 프로세스는 wait() system call을 갖기 때문에 sleep상태를 갖게 된다.
exit() 시스템 콜
프로세스와 관련한 시스템 콜

프로세스 간 협력
독립적 프로세스 (Independent process)
협력 프로세스 (Cooperating process)
프로세스 간 협력 메커니즘 (IPC: Interprocess Communication)

Message Passing


CPU and I/O Bursts in Program Execution

CPU-burst Time의 분포

프로세스의 특성 분류
CPU Scheduler & Dispatcher
