반응형
CPU Scheduling
1. 스케줄링
- CPU 를 잘 사용하기 위해 프로세스를 잘 배정
- 조건 : 오버헤드 ↓ / 사용률 ↑ / 기아 현상 ↓
- 목표
Batch System
: 가능하면 많은 일을 수행. 시간(time) 보단 처리량(throughout)이 중요Interactive System
: 빠른 응답 시간. 적은 대기 시간.Real-time System
: 기한(deadline) 맞추기.
2. CPU 스케쥴링의 종류
선점 : OS가 CPU의 사용권을 선점할 수 있는 경우, 강제 회수하는 경우 (처리 시간 예측 어려움)
1) FCFS (First Come First Served)
- 큐에 도착한 순서대로 CPU 할당
- 실행 시간이 짧은 게 뒤로 가면 평균 대기 시간이 길어짐
2) SJF (Shortest Job First)
- 수행시간이 가장 짧다고 판단되는 작업 먼저 수행
- FCFS 보다 평균 대기 시간 감소, 짧은 작업에 유리
3) HRN (Highest Response-ratio Next)
- 우선순위를 계산하여 점유 불평등 보완(SJF 단점 보완)
- 우선순위 = (대기시간 + 실행시간) / (실행시간)
비선점 : 프로세스 종료 or I/O 등 이벤트가 있을 때까지 실행 보장 (처리시간 예측 용이)
1) Priority Scheduling
- 정적/동적으로 우선순위를 부여하여 우선순위가 높은 순서대로 처리
- 우선 순위가 낮은 프로세스가 무한정 기다리는 기아 현상 발생 가능
- Aging 방법으로 기아현상 문제 해결 가능
2) Round Robin
- FCFS에 의해 프로세스들이 보내지면 각 프로세스는 동일한 시간의 Time Quantum 만큼 CPU 할당
3) Multilevel-Queue (다단계 큐)
반응형