이번엔 OS의 프로세스 상태 다이어그램에 대해 공부하고자 합니다.



new 단계 : 프로세스가 생성되는 단계

-> 프로그램을 실행시켰을 때의 첫 번째 상태가 됩니다.

************************************************************************************

준비(ready)단계 : 프로세스가 프로세서에 할당되기를 기다리고 있는 상태

실행(running)상태 : 프로세스가 실행중인 상태

대기(waiting)상태 : 프로세스가 어떤 사건(event)을 기다리고 있는 상태

************************************************************************************

terminated상태 : 프로세스의 실행이 종료된 상태

 

디스패치(dispatch) : 준비(ready)상태에서 실행(running)상태로 전이되는 과정을 말하며이는 작업 스케줄러가 해당 프로세스를 선택하여 실행되어지는 것으로 이때 실행된 프로세스가 CPU를 점유하게 됩니다.

인터럽트(Interrupt) : 인터럽트 신호를 받게되면, 실행(running)중이던 프로세스는 준비(ready)상태로 전이되고, 우선순위(Priority)가 높은 프로세스를 실행(running)상태로 전이시키게 됩니다. (프로세스는 각각 우선순위를 부여받고, 우선순위에 따라 프로세스가 준비상태로 전이되거나, 실행상태로 전이됩니다.)

입출력 혹은 이벤트대기(I/O or event wait) : CPU를 점유하고 있는 프로세스가 입출력 처리를 해야만 하는 상황이라면, 실행되고 있는 프로세스는 실행(running)상태에서 대기/보류(waiting) 상태로 바뀌게 됩니다. 그리고 대기상태로 바뀐 프로세스는 입출력 처리가 모두 끝날때까지 대기상태로 머물게 됩니다. 그리고 실행 상태이던 프로세스가 대기상태로 전이됨과 함께, 준비상태이던 또 다른 프로세스가 실행 상태로 전이됩니다. 또한 대기 상태인 프로세스는 우선순위가 부여되지 않으며 스케줄러에 의해 선택 될 수 없습니다.

입출력 혹은 이벤트완료(I/O or event completion) : 입출력 처리가 끝난 프로세스는 대기상태(waiting)에서 준비상태(ready)로 전이되어 스케줄러에게 선택될 수 있게 됩니다. 추가로 프로세스를 종료(Terminate)시킬 때에도 Blocked 상태를 거칠 수 있습니다.

 

** 단일 프로세스 시스템에서는 현재 실행 상태에 있을 수 있는 프로세스가 

오직 하나!

but, 많은 프로세스가 waiting or ready상태에 있을 수 있습니다.!


WRITTEN BY
SiriusJ

,