[용어정리] 스케줄링(Scheduling)

스케줄링(Scheduling)

일반적인 스케줄링이란 처리할 일들의 진행순서를 정하는 일이다.

비선점 스케줄링과 선점 스케줄링

1) 비선점형 스케줄링은 프로세스가 (실행 -> 대기), (실행 ->종료) 로의 상태전이가 있을 때 적용

2) 선점형 스케줄링은 (실행 ->대기), (실행 -> 준비), (대기 -> 종료) 모든 상태변화에서 적용

이미 할당된 CPU를 다른 프로세스가 강제로 빼앗아 사용할 수 없는 스케줄링 기법, 선점 방식보다 스케줄러 호출 빈도가 낮고 문맥 교환에 의한 오버헤드도 적다. 일괄처리 시스템에 적합하며, CPU 사용 시간이 긴 하나의 프로세스가 CPU 사용 시간이 짧은 여러 프로세스를 오랫동안 대기시킬 우려가 있으므로 처리율이 떨어질 수 있다는 단점이 있다.

하나의 프로세스가 CPU를 할당 받아 실행하고 있을 때 우선순위가 높은 다른 프로세스가 CPU를 강제로 빼앗아 사용할 수 있는 기법이다. 모든 프로세스에게 CPU 사용시간을 동일하게 부여할 수 있으며 빠른 응답시간을 요하는 대화식 시분할 시스템에 적합하며 긴급한 프로세스를 제어할 수 있다.

비선점 스케줄링 알고리즘

선점 스케줄링 알고리즘