이번엔 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상태에 있을 수 있습니다.!
'OS' 카테고리의 다른 글
Round-Robin(RR)이란? , CPU-Scheduling들 (4) | 2016.04.18 |
---|---|
PCB(Process Control Block)란? (0) | 2016.04.18 |
선점형(Pre-emption)OS와 비선점형(Nonpre-emption)OS 차이 (0) | 2016.04.18 |
Semaphore란? 세마포어와 뮤텍스의 차이는? (5) | 2016.04.18 |
Deadlock 개념이란? 그에 대한 해결책/회피책 (0) | 2016.04.18 |
WRITTEN BY