스케줄링
평가기준 오버헤드 ↓ / 사용률 ↑ / 기아 현상 ↓
•
오버헤드 ↓ / 사용률 ↑ / 기아 현상 ↓
•
스케줄링 알고리즘끼리 성능 비교시, 주로 평균 대기 시간을 본다.
4.
스케줄링 알고리즘의 선택 기준에 대해 설명하시오.
선택 기준
CPU 사용률 ↑
•
전체 시스템의 동작 시간 중 CPU가 사용된 시간을 측정
•
사용율이 높아야 시스템이 빠르게 돌아간다.
처리량 ↑
•
단위 시간 당 작업을 마친 프로세스 수.
대기 시간 ↓
•
작업을 요청한 프로세스가 작업 실행까지 대기하는 시간
응답 시간 ↓
•
프로세스 실행 후 첫 번째 출력 또는 반응이 나올때까지 걸리는 시간
반환 시간 ↓
•
프로세스 생성 후 종료되어 사용하던 자원을 모두 반환하는데 까지 걸리는 시간
•
대기 시간 + 실행 시간
5.
FCFS, SJF, HRN 스케줄링의 특징을 설명하시오.
6.
라운드 로빈, SRT, 다단계 큐, 다단계 피드백 큐 스케줄링의 특징을 설명하시오.
선점 / 비선점 스케줄링
•
선점 (preemptive) : OS가 CPU의 사용권을 선점할 수 있는 경우, 강제 회수하는 경우 (처리시간 예측 어려움)
•
비선점 (nonpreemptive) : 프로세스 종료 or I/O 등의 이벤트가 있을 때까지 실행 보장 (처리시간 예측 용이함)
CPU 스케줄링의 종류
종류 | 설명 | |
비선점 | FCFS
(First Come First Served) | - 대기 큐에 도착한 순서대로 CPU 할당
- 실행 시간이 짧은게 뒤로 가면 평균 대기 시간이 길어짐 |
비선점 | SJF
(Shortest Job First) | - 수행 시간이 가장 짧다고 판단되는 작업 먼저 수행
- FCFS 보다 평균 대기 시간 감소, 짧은 작업에 유리
- 단점 : 시간 예측 어려움, 아사현상 높음 |
비선점 | HRN
(Hightest Response-ratio Next) | - 우선순위를 계산하여 SJF의 점유 불평등(아사현상) 보완
- 우선순위 = (대기시간 + 실행시간) / (실행시간) |
선점 | Round Robin | - FCFS와 유사하나 각 프로세스마다 타임슬라이스가 부여됨.
타임 슬라이스 동안 작업이 완료 안되면 큐의 뒤쪽에 다시 삽입
- 할당 시간이 크면 FCFS와 같게 되고, 작으면 문맥 교환이 잦아져서 오버헤드 증가 |
선점 | SRT
(Shortest Remaining Time) | - 최소 잔류 시간 우선 스케줄링
- 선점형 SJF (잔류시간이 짧은거 우선)+ 라운드로빈(규정된 타임슬라이드)
- 프로세스의 남은 시간을 주기적으로 계산해야 하는 작업이 추가되며, SJF 에서의 단점이 적용된다. |
우선순위 스케줄링 | - 단점 : 공평성 위배, 아사 현상, 프로세스 우선순위 매번 바꾸며 발생하는 오버헤드
- 시스템 효율성도 중요하나 프로세스 중요도 기준으로 실행되는 것도 중요 | |
선점
우선
순위 | 다단계 큐 | - 우선순위에 따라 준비 큐를 여러 개 사용
- 우선순위에 따라 타임슬라이스를 조정하여 작업 효율을 높임
- 고정형 우선순위, 상위 큐 프로세스 작업이 끝나야 하위 큐 프로세스 실행 |
선점
우선
순위 | 다단계 피드백 큐 | - 변동 우선순위, CPU를 사용하고 난 프로세스의 우선순위가 낮아짐
- 커널 프로세스는 깍두기
- 우선순위에 따라 큐의 타임 슬라이스 크기를 달리함 ,
마지막 큐의 프로세스는 무한대의 타임 슬라이스를 가짐 |
면접 응용