이번에는 선점형 OS와 비선점형 OS의 차이를 보겠습니다.
기본적으로 프로세스가 자원을 선점한다, 비선점한다 의 개념은 알고 있다는 가정하입니다.
- 특정 프로세스가 CPU 를 독점하는것이 가능 (프로세스가 스스로 CPU 점유를 포기해야만 다른 프로세스가 실행)하면 비선점형
- 특정 프로세스가 CPU 를 독점하는것이 불가능(운영체제가 강제로 프로세스의 CPU 점유를 제어)하면 선점형
(CPU의 스케줄링 결정 시점)
- CPU 스케줄링의 결정 시점은 다음과 같은 프로세스의 상태 변화가 있을 때입니다.
1) 수행 → 대기
2) 수행 → 준비
3) 대기 → 준비
4) 수행 → 종료
(1) 비선점형 스케줄링(Non-preemptive Scheduling) : 어떤 프로세스가 CPU를 할당 받으면 그 프로세스가 종료되거나 입출력 요구가 발생하여 자발적으로 중지될 때까지 계속 실행되도록 보장합니다. 순서대로 처리되는 공정성이 있고 다음에 처리해야 할 프로세스와 관계없이 응답 시간을 예상할 수 있으며,
선점 방식보다 스케줄러 호출 빈도 낮고 문맥 교환에 의한 오버헤드가 적습니다. 일괄 처리 시스템에 적합하며, CPU 사용 시간이 긴 하나의 프로세스가 CPU 사용 시간이 짧은 여러 프로세스를 오랫동안 대기시킬 수 있으므로 처리율이 떨어질 수 있다는 단점이 있습니다.
(2) 선점형 스케줄링(Preemptive Scheduling) : 어떤 프로세스가 CPU를 할당받아 실행 중에 있어도 다른 프로세스가 실행 중인 프로세스를 중지하고 CPU를 강제로 점유할 수 있습니다.
모든 프로세스에게 CPU 사용 시간을 동일하게 부여(Round Robin - RR)할 수도 있습니다. 빠른 응답시간을 요하는 대화식 시분할 시스템에 적합하며 긴급한 프로세서를 제어할 수 있습니다. '운영 체제가 프로세서 자원을 선점'하고 있다가 각 프로세스의 요청이 있을 때 특정 요건들을 기준으로 자원을 배분하는 방식입니다.
'OS' 카테고리의 다른 글
Round-Robin(RR)이란? , CPU-Scheduling들 (4) | 2016.04.18 |
---|---|
PCB(Process Control Block)란? (0) | 2016.04.18 |
OS - Process State Transition Diagram (1) | 2016.04.18 |
Semaphore란? 세마포어와 뮤텍스의 차이는? (5) | 2016.04.18 |
Deadlock 개념이란? 그에 대한 해결책/회피책 (0) | 2016.04.18 |
WRITTEN BY