준비큐에 있는 프로세스에 대해서 CPU를 할당하는 방법입니다. 크게 다섯가지가 있는데요. FCFS, SJF, SRF, Priority Scheduling, 그리고 Round Robin이 있습니다.
프로세스가 스스로 CPU 소유권을 포기하는 방식
가장 먼저 온 것을 가장 먼저 처리
실행 시간이 가장 짧은 프로세스부터 실행
우선순위가 높은 프로세스를 먼저 실행
우선순위 정하는 방식
내부적 - 시간 제한, 메모리 요구량, 열린 파일의 수 등을 확인하여 종합적으로 측정
외부적 - 운영체제 스스로 정하는게 아니라 바깥에 이미 설정된 기준을 따르는 것
선점방식과 비선점 방식 두 방법 모두 가능
우선순위 알고리즘 문제 starvation 해결 방법
: 오래된 작업일수록 '우선순위를 높이는 방법(aging)'을 통해 단점 보완
사용하고 있는 프로세스를 알고리즘에 의해 중단시켜 버리고 강제로 다른 프로세스에 CPU 소유권을 할당하는 방식
각 프로세스에 동일한 할당 시간을 주고 그 시간 안에 끝나지 않으면 다시 준비 큐의 뒤로 가는 알고리즘
오버헤드
어떤 처리를 하기 위해 들어가는 간접적인 처리 시간, 메모리 등
프로세스의 남은 수행 시간이 짧은 순서에 따라 CPU 소유권 할당
우선순위에 따른 준비 큐를 여러 개 사용하고, 큐마다 다른 스케줄링 알고리즘을 적용
[참고링크]