[OS] 프로세스 상태
2023. 4. 6. 11:45
프로세스 상태 (Process State)
new (생성 상태)
프로세스를 생성 중인 상태. PCB를 할당받은 상태
ready (준비 상태)
자신의 차례를 기다리고 있는 상태.
많은 프로세스들이 ready상태에서 자신의 차례를 기다린다. 이때 os는 실행 상태로 전환할 프로세스를 선택하는데 이 작업을 스케줄링이라 한다. CPU의 할당을 받으면 실행 상태가 되는데 준비 상태인 프로세스가 실행 상태로 전환되는 것을 디스패치(Dispatch)라고 한다.
running (실행 상태)
CPU의 할당을 받아서 실행하는 상태.
waiting (대기 상태)
입출력 작업이나 다른 이벤트가 발생하여 완료 인터럽트를 받을 때까지 기다리는 상태
running -> ready
- cpu를 할당받아 실행 중인 running 상태에서 할당받은 시간을 모두 사용하고 timer interrupt가 발생하면 ready 상태가 되어 다시 자신의 순서를 기다린다.
running -> waiting
- 실행 중인 프로세스가 입출력 작업을 기다리거나 다른 이벤트가 완료될 때까지 기다리는 경우 waiting 상태가 된다.
waiting -> ready
- 입출력 작업이 끝나서 완료 interrupt가 발생하면 ready 상태가 되어 자신의 순서를 기다린다.
terminated (종료 상태)
프로세스가 종료된 상태. 프로세스가 사용한 PCB와 메모리를 정리한다.