프로그래밍/운영체제

운영체제 · 프로세스 상태

반응형


프로세스 상태 (Process State)


프로세스는 실행의 흐름에 따라 상태(스테이트)가 변한다. 상태를 정의하는 이름은 운영체제에 따라 다르지만, 대부분 서로 비슷한 개념으로 구성되어 있다. 프로세스의 흐름은 일반적으로 5개의 상태로 정의된다.


[그림 1] 프로세스 상태 전이도





프로세스의 5가지 상태


생성 (New) : 프로세스 생성 상태

실행 (Running) : 프로세스가 CPU에 할당되어 실행 중인 상태

✓ 준비 (Ready) : 프로세스가 CPU에 할당되기를 기다리는 상태

대기 (Waiting) : 보류(Block)라고도 하며, 프로세스가 입출력이나 이벤트를 기다리는 상태

종료 (Terminated) : 프로세스 종료 상태






프로세스의 상태 전이


승인 (Admitted) : 프로세스 생성이 가능하여 승인됨.

스케줄러 디스패치 (Scheduler Dispatch) : 준비 상태에 있는 프로세스 중 하나를 선택하여 실행시키는 것.

인터럽트 (Interrupt) : 예외, 입출력, 이벤트 등이 발생하여 현재 실행 중인 프로세스를 준비 상태로 바꾸고, 해당 작업을 먼저 처리하는 것.

입출력 또는 이벤트 대기 (I/O or Event wait) : 실행 중인 프로세스가 입출력이나 이벤트를 처리해야 하는 경우, 입출력/이벤트가 모두 끝날 때까지 대기 상태로 만드는 것.

입출력 또는 이벤트 완료 (I/O or Event Completion) : 입출력/이벤트가 끝난 프로세스를 준비 상태로 전환하여 스케줄러에 의해 선택될 수 있도록 만드는 것.




반응형