운영체제 · 프로세스 상태
쉽게배우는 운영체제 - 한빛아카데미
프로세스는 실행의 흐름에 따라 상태가 변한다.
프로세스의 상태 (Process Sate)
프로세스의 상태는 일반적으로 5개의 상태로 정의된다.
-
생성 (New) : 프로세스가 메모리에 올라와 실행 준비를 완료한 상태
- 프로그램이 메모리에 올라고오고 운영체제로부터 PCB를 할당받은 상태
- 생성된 프로세스는 바로 실행되는 것이 아니라 준비 상태에서 자기 순서를 기다리며 PCB도 준비상태로 옮겨진다.
-
준비 (Ready) : 프로세스가 CPU에 할당되기를 기다리는 상태
- CPU가 하나인 컴퓨터에서는 한 번에 하나의 프로세스만 실행할 수 있기 때문이 자신의 실행 순서가 될 때까지 준비상태에서 기다려야 한다.
-
실행 (Running) : 프로세스가 CPU에 할당되어 실행 중인 상태
- 실행 상태에 들어간 프로세스는 일정 시간동안 CPU를 사용할 권리를 갖는다.
- 만약 주어진 시간을 다 사용하고도 작업이 끝나지 않았다면, 프로세스는 준비상태로 돌아와 다음 차례를 기다린다. (Suspend)
-
대기 (Wating, Block) : 입출력을 요구한 프로세스가 입출력이 완료될 때까지 기다리는 상태
- 인터럽트 시스템에서 프로세스가 입출력을 요구하면 CPU가 직접 데이터를 가져오지 않고 입출력 관리자에게 명령을 내린다.
- 대기 상태에서 입출력이 끝난 프로세스는 바로 실행 상태로 가지 않고 준비 상태로 돌아가 자기 차례를 기다린다.
-
종료 (Terminated) : 실행 상태의 프로세스가 작업을 모두 마친 상태
- 완료 상태는 프로세스 제어 블록 (PCB) 가 사라진 상태를 의미한다.