← 질문 목록
#247깊이 0
프로세스 스케줄링 방식은 무엇으로 결정하는가?
CPU 효율과 응답 시간 사이의 트레이드오프를 고려해 결정한다. 짧은 응답 시간이 필요한지 전체 처리량이 중요한지부터 정한다.
| 기준 | 비선점형 | 선점형 |
|---|---|---|
| CPU 점유 | 프로세스가 반납할 때까지 대기 | OS가 강제로 회수 가능 |
| 응답성 | 낮음. 긴 작업으로 밀림 | 높음. 시분할 처리 |
비선점형인 FCFS는 먼저 온 순서대로 처리한다. 구현이 간단하지만, 짧은 작업이 긴 작업 뒤에서 무작정 대기하는 호위 효과가 발생한다.
선점형인 라운드 로빈은 정해진 시간 단위로 CPU를 전환한다. 모든 프로세스에 공평한 기회를 주어 응답성을 높이지만, 시간이 너무 짧으면 문맥 교환 비용이 커진다.
우선순위 스케줄링은 중요도에 따라 순서를 정한다. 낮은 우선순위의 작업이 영원히 실행되지 않는 기아 현상이 발생하며, 에이징은 오래 기다린 작업의 순위를 올려 기아를 막는다.