선점형 스케줄링(Preemptive Scheduling)

1. 선점형 스케줄링의 개념

기존 할당된 CPU의 자원 선점 여부 결정 위해 프로세스 간 우선순위를 비교하는 스케줄링 기법

2. 선점형 스케줄링의 유형 (RS다큐피큐)

기법설명
Round-Robin
정의프로세스들 사이에 우선순위를 두지 않고 순서대로 시간단위로 CPU를 할당하는 선점형 스케줄링 기법
동작방식– FIFO의 변형으로 사전에 정의된 할당시간을 프로세스에 할당
– 할당 시간 만료시 자신의 차례가 돌아올 때까지 대기 큐에서 대기
SRT
정의CPU자원의 효율성 극대화를 위해 계속해 서비스 시간이 적은 작업을 파악해 우선적으로 CPU를 할당하는 선점형 스케줄링 기법
동작방식– 매 시점마다 수행시간이 가장 짧다고 판단된 사업을 먼저 수행
Multi-Level Queue
정의작업을 여러 종류의 그룹으로 분할, 여러개의 큐를 이용해 수행하며 상위 단계 작업에 의해 하위 단계 작업이 선점당하는 기법
동작방식– 프로세스가 준비상태 큐에 들어오면 우선 순위별 큐를 다르게 배정
– 높은 우선순위 큐부터 선정
– 큐 별 작업 이동은 금지
Multi-Level Feedback Queue
정의다단계 큐 기법에서 준비상태의 큐 사이를 프로세스가 이동 가능토록 개선한 선점형 스케줄링 기법
동작방식– 준비 큐로 들어선 프로세스는 레벨 1 큐에 입력
– 준비 큐 0에 있는 프로세스는 규정 시간량 부여. 시간 초과시 다음 레벨인 준비 큐 1로 이동
– 준비 큐 0이 비어있다면 준비 큐 1 대기중인 프로세스에 규정 시간량이 할당, 시간내 완료되지 않으면 준비 큐 2로 이동
– 해당 방식으로 최하위 단계인 준비 큐 n까지 피드백된 프로세스는 FCFS로 처리

3. 선점형 스케줄링과 비선점 스케줄링의 비교

구분선점형 스케줄링비선점형 스케줄링
특징특수 하드웨어 (Timer) 필요특수 하드웨어 (Timer) 불필요
장점비교적 빠른 응답 기대 가능응답시간 예상 용이
단점기아 현상 발생 가능호위 효과 발생 가능
활용실시간 응답 환경처리시간 편차가 적은 특정 프로세스 한정