fork( ) :create a child (copy)
exec( ): overlay new image
wait( ) : sleep until child is done
exit( ) : frees all the resources, notify parent
주소 공간
유닉스의 예
fork ( ) 시스템 콜이 새로운 프로세스를 생성
-부모를 그대로 복사(OS data except PID + binary)
-주소 공간 할당
fork 다음에 이어지는 exac ( ) 시스템 콜을 통해 새로운 프로그램을 메모리에 올림
fork ( ) 시스템 콜
wait( ) 시스템 콜
-프로세스 A가 wait( )시스템 콜을 호출하면
exit( ) 시스템 콜
자발적 종료
비자자발적 종료
부모 프로세스가 자식 프로세스를 강제 종료시킴
-자식 프로세스가 한계치를 넘어서는 자원 요청
-자식에게 할당된 태스크가 더 이상 필요하지 않음
-부모 프로세스가 종료하기 전에 자식들이 먼저 종료됨
독립적 프로세스
협력 프로세스
프로세스 간 협력 메커니즘(IPC: Interprocess Communication)
-메시지를 전달하는 방법
-주소 공간을 공유하는 방법
-프로세스 사이에 공유 변수를 일체 사용하지 않고 통신하는 시스템
프로세스는 그 특성에 따라 다음 두 가지로 나눔
I/O- bound process
-CPU를 잡고 계산하는 시간보다 I/O에 많은 시간이 필요한 job
-(many short CPU bursts)
-계산 위주의 job
(few very long CPU bursts)
CPU Scheduler
Dispatcher
CPU 스케쥴링이 필요한 경우는 프로세스에게 다음과 같은 상태 변화가 있는 경우이다.
1,4 에서의 스케쥴링은 nonpreemptive(=강제로 빼앗지 않고 자진반납)
2,3은 preemptive(=강제로 빼앗김)