-
New
- 프로세스를 생성 중인 상태
- 이제 막 메모리에 적재되어 PCB를 할당받은 상태
- 생성 상태를 거쳐 실행할 준비가 완료된 프로세스는 곧바로 실행되지 않고 준비 상태가 되어 CPU의 할당을 기다림
-
Ready
- 당장이라도 CPU를 할당받아 실행할 수 있지만, 아직 자신의 차례가 아니기에 기다리고 있는 상태
- Dispatch
- 준비 상태인 프로세스가 실행 상태로 전환되는 것
-
Running
- CPU를 할당받아 실행 중인 상태
- 타이머 인터럽트가 발생(프로세스가 할당된 시간을 모두 사용) → 다시 준비 상태가 됨
- 실행 도중 입출력장치를 사용하여 입출력장치의 작업이 끝날 때까지 기다려야 함 → 대기 상태가 됨
-
Waiting
- 특정 이벤트(입출력장치의 작업 등)가 일어나길 기다리는 상태
- 입출력 작업을 요청한 프로세스는 입출력 완료 인터럽트를 받을 때까지(입출력장치가 입출력을 끝낼 때까지) 기다려야 함
- 입출력 작업이 완료되면 해당 프로세스는 다시 준비 상태로 CPU 할당을 기다림
-
Terminated
- 프로세스가 종료된 상태
- 프로세스가 종료되면 운영체제는 PCB와 프로세스가 사용한 메모리를 정리함
-
Process state diagram