Operating Systems

[OS] Preemption and Non-Preemption

빛나유 2013. 1. 13. 13:38

※ 질문/내용오류/공유할 내용이 있다면 jinkilee73@gmail.com으로 메일 주세요 :-)


프로세스의 상태가 Running State에서 Ready State으로 강제적으로 스케줄러에 의해 이동될 수 있는 OS를 preemptive OS라고 한다.

그림으로 설명하면 다음과 같다고 볼 수 있다.


평온하게 CPU는 프로세스 P0을 실행시키고 있는데...


갑자기 스케줄러가 P2를 고르더니 P0를 ready queue로 보내버리고 P2를 실행시켜버리더라.



이런 작업이 허용되는 OS를 Preemptive OS라고 하고, 이것이 허락되지 않는 OS를 Non-Preemptive OS라고 한다.