- Time quantum(δ)이 시스템 성능을 결정하는 핵심 요소
- Very large (infinite) δ -> FCFS
- Very small time quantum -> processor sharing
-> 사용자는 모든 프로세스가 각각의 프로세서 위에서 실행되는 것처럼 느낌 (체감 프로세서 속도 = 실제 프로세서 성능의 1/n)
Non-preemptive scheduling
스케줄링 기준 (Criteria)
- 실행시간 (burst time) 기준
- Burst time 가장 작은 프로세스를 먼저 처리
장점:
- 평균 대기시간(WT) 최소화
- 많은 프로세스들에게 빠른 응답 시간 제공
- 시스템 내 프로세스 수 최소화
단점:
- 무한대기 (Starvation) 현상 발생 : BT가 긴 프로세스는 자원을 할당 받지 못 할 수 있음 -> Aging 등으로 해결 (e.g., HRRN)
- 정확한 실행시간을 알 수 없음 -> 실행시간 예측 기법이 필요
-> 구현 및 사용이 비현실적
SPN의 변형 : SPN + Aging concepts, Non-preemptive scheduling
Aging concepts : 프로세스의 대기 시간(WT)을 고려하여 기회 제공
스케줄링 기준 (Criteria) : Response ratio가 높은 프로세스 우선
Response ratio = (WT+BT) / BT(응답률)
- SPN의 장점 + Starvation 방지
- 실행 시간 예측 기법 필요 (overhead3)
작업(or 우선순위)별 별도의 ready queue를 가짐
- 최초 배정된 queue를 벗어나지 못함
- 각각의 queue는 자신만의 스케줄링 기법
queue 사이에는 우선순위 기반의 스케줄링 사용
- e.g., fixed-priority preemptive scheduling
장점 : 중요한 작업은 빨리 처리할 수 있음
단점
- 여러 개의 Queue 관리 등 스케줄링 overhead
- 우선순위가 낮은 queue는 starvation 현상 발생 가능
프로세스의 queue간 이동이 허용된 MLQ
Feadback을 통해 우선 순위 조정
- 현재까지의 프로세서 사용 정보(패턴) 활용
특성
- Dynamic prioirty
- Preemptive scheduling
- Favor short burst-time processes
- Favor I/O bounded processes
- Improve adaptability
프로세스에 대한 사전 정보 없이 SPN, SRTN, HRRN 기법의 효과를 볼 수 있음
1. Convoy effect : 하나의 수행시간이 긴 프로세스에 의해 다른 프로세스들이 긴 대기시간을 갖게 되는 현상 (대기시간 >> 실행시간)