[운영체제] Process 상태

강민혁·2023년 3월 6일
1

Process 상태에 대해 설명하세요

Keyword

process, PCB, new, ready, dispatch, running, timer interrupt, blocked,I/O, terminated


Script

운영체제는 process의 상태를 PCB를 통해 인식하고 관리합니다. 대표적으로 생성 상태(new), 준비 상태(ready), 실행 상태(running), 대기 상태(blocked), 종료 상태(terminated)가 존재합니다.

생성 상태(new)는 메모리에 적재되어 PCB를 할당 받은 직후의 상태를 의미합니다.

준비 상태(ready)는 CPU를 할당받아 실행할 수 있는 상태이지만, 아직 CPU를 할당받지 않은 상태입니다. 만약 이 상태의 process가 실행 상태(running)로 전환된다면, 그것을 dispatch라고 합니다.

실행 상태(running)는 CPU를 할당받아 실행 중인 상태를 의미합니다. 만약 timer interrupt가 발생한다면 다시 준비 상태(ready)가 되고, 입출력 작업이 있다면 대기 상태(blocked)가 됩니다.

대기 상태(blocked)는 process의 실행 도중 입출력장치를 사용하는 경우, 입출력장치가 입출력을 끝낼때까지(I/O 완료 interrupt를 받을 때까지) 기다리는 상태입니다.

종료 상태(terminated)는 process가 종료된 상태입니다. 프로세스가 종료되면 운영체제는 PCB와 process가 사용한 메모리를 정리합니다.


Additional

process state diagram(프로세스 상태 다이어그램)


Reference

Book - 혼자 공부하는 컴퓨터 구조+운영체제

profile
with programming

1개의 댓글

comment-user-thumbnail
2023년 3월 14일

blocked는 사진에서 waiting을 의미하는것 같네요. running중 인 프로세스가 당장 작업을 할 수 없는 상태(I/O나 이벤트를 기다림)가 되면 waiting 상태가 되고 그동안 ready 상태에 있던 다른 프로세스가 실행됩니다. 그후 waiting 상태에 있던 프로세스가 준비 되면 interrupt 신호를 보내 ready 상태가 되고, 그 후 스케줄링에 의해서 해당 프로세스가 실행됩니다.

답글 달기