운영체제에서 스케줄러는 queue간에 이동할 프로세스를 선택하는 역할을 담당한다.
스케줄러는 스케줄을 할당할 term에 따라서 3가지로 나누는데, 이는 각각 long-term, medium-term, short-term이다.
1) Long-term 스케줄러
장기 스케줄러는 multiprogramming의 정도를 제어하는 역할을 한다. I/O bound process와 CPU bound process의 적절한 조합을 선택하는 것이 중요하다. batch systems에서 주로 사용한다.
* 배경지식 : I/O bound process는 계산보다는 I/O 수행에 더 많은 시간을 소비하며, 많은 수의 짧은 CPU가 burst한다. 반대로 CPU bound process는 계산에 더 많은 시간을 소비하는 process로서, 적은 수의 매우 긴 CPU를 burst한다.
2) Medium- term 스케줄러
중간 텀 스케줄러는 CPU에 대한 경쟁을 줄임으로서 multiprogramming의 정도를 감소시키는 것을 목적으로 하는 스케줄러이다. 이는 새로 적재될 프로세스를 위한 메모리를 확보하는 역할을 한다. 이를 위해 메모리에서 disk로 이동시킬 프로세스를 선택한다.
3) Short-term 스케줄러
ready queue에서 다음에 실행시킬 프로세스를 선택하여 CPU를 할당한다. 대부분의 스케줄러는 CPU 스케줄러(Short-term 스케줄러)를 의미한다.
반응형
'Computer Science' 카테고리의 다른 글
[컴퓨터구조론] 주소 지정방식(직접, 간접, 즉시, 변위 주소 지정방식) (0) | 2024.01.04 |
---|---|
[컴퓨터구조론] 제어 유니트의 기능, 구조 (0) | 2024.01.03 |
[컴퓨터구조론] 논리 연산(and/or/xor/not 연산) (0) | 2024.01.01 |
[운영체제] Microkernel에 관하여(개념 및 장단점) (0) | 2023.12.31 |
[운영체제] 운영체제의 설계원칙 : 기법(Mechanism)과 정책(Policy)에 대하여 (0) | 2023.12.30 |