CPU 스케줄링이란?
운영체제가 프로세스들에게 공정하고 합리적으로 CPU 자원을 배분하는 것!
우선수위가 낮은 프로세스들이 먼저 큐에 삽입 되어 줄을 섰다 할지라도, 우선수위가 높은 프로세스는 그들보다 먼저 처리될 수 있다
CPU스케줄링의 대표적인 7가지 알고리즘
- 선입 선처리 스케줄링
- 최단 작업 우선 스케줄링
- 라운드 로빈 스케줄링
- 최소 잔여 시간 우선 스케줄링
- 우선순위 스케줄링
- 다단계 큐 스케줄링
- 다단계 피드백 큐 스케줄링
타임 슬라이스(Time Slice) : 각 프로세스가 CPU를 사용할 수 있는 정해진 시간
타임 슬라이스의 중요성
타임 슬라이스가 커진다면,
선입 선처리 스케줄링(FCFS)의 문제점인 호위 효과(프로세스들이 기다리는 시간이 매우 길어질 수 있다는 부작용)가 생길 수 있고,
타임 슬라이스가 지나치게 작으면,
문맥 교환에 발생하는 오버헤드 때문에 CPU의 부담이 가는 우려가 있다
(타임 슬라이스)
만큼 CPU를 이용하되, 다음으로 CPU를 사용할 프로세스는 남은 작업 시간이 가장 적은 프로세스 선택문제점
해결책
기아현상 재발 가능