본문 바로가기

운영체제/프로세스(process)

운영체제 - 프로세스 상태 전이(Process State Transition), PCB(process control block)

운영체제 - 프로세스 상태 전이(Process State Transition), PCB(process control block)


Process = Data Structure + Algorithm 으로 정의할 수 있다.

운영체제는 process를 정의하고 그에 맞는 data structure와 algorithm을 구현해야 한다.

process의 data structure를 구현한 것이 PCB(process control block)이다.


각각의 프로세스는 그에 맞는 PCB를 가지며

PCB는 1) memory context, 2) hardware context, 3) kernel context를 갖는다.


운영체제가 multi-program을 지원하면 여러개의 PCB를 관리해야 한다. 이를 위해 array of PCB를 관리한다. (or linked list)



프로세스 상태 전이(= Process State Transition), process life cycle

  1. New
    • 프로세스가 처음 생성된 상태
  2. Ready
    • 프로세스가 메인 메모리에 로드되고 cpu의 선택을 기다리는 상태.(= Ready Queue에 해당 process의 PCB가 linked-list로 관리된다.)
  3. Running
    • CPU에 의해 실행되는 프로세스
  4. Waiting
    • I/O operation의 수행결과를 기다리는 프로세스.(= I/O device마다 별도의 Waiting queue에서 대기)
  5. Terminated
    • 프로세스가 종료됨.