스케줄링: 프로세스를 프로세서에 할당할지 결정하는 것
운영체제(스케줄러)가 프로세스를 프로세서에 할당하는 행위를 dispatch라고 함
dispatch 할 경우 process의 상태가 변경되는데, 레디 큐에 있는 프로세스들 중 하나를 short-term scheduler가 프로세서에 할당하게 됨
프로세서들 중에서 어떤 프로세스를 dispatch를 할 것인가 정하는 것이 프로세스 스케줄링이다.
스케줄링 기법 즉 알고리즘음 대표적으로 4가지가 존재한다. FCFS, SJF, SRF, RR
알고리즘 평가는
1) 수행 시간(Burst time), 2) CPU 사용량, 3) 단위 시간당 처리한 프로세스 수(throughput), 4) 하나의 프로세스가 레디큐에서 대기한 시간부터 작업을 마칠 때 까지 걸린 시간(turn around time), 5) 프로세스가 레디큐에 대기한 시간(wating time), 6) 프로세스가 처음 cpu를 할당받기 까지 걸린 시간을 기준으로 한다는데 월케 많냐...
선점 스케줄링 방식과 비선점 스케줄링 방식이 있음
OS가 개입하여 강제로 프로세스의 사용권을 통제하는 방식을 선점 스케줄링이라고 함
프로세스가 스스로 다음 프로세스에게 자리를 넘겨주는 방식을 비선점 스케줄링이라고 함
비선점 스케줄링 방식
First come first served(QUEUE)
Shortest Job First
선점 스케줄링 방식
Shortest Remaining Time First
Round Robin
일정 시간 할당량을 단위로 여러 프로세스를 번갈아가면서 할당
선점/비선점 둘다 가능
Priority Scheduling