본문 바로가기

C.E/OS

Process - Schedulers

Schedulers, 스케쥴러

 

Schedulers란 Queue에 있는 Process를 선택하는 기능을 뜻한다.

 

이러한 Schedulers는 크게 Long Term Scheduler(이하 LTS)Short Term Scheduler(이하 STS)가 있다.

 

LTS의 경우 Job Scheduler라고도 불리며 Process의 수행을 요구하면 해당 Process를 Disk에 저장하고

 

수행중인 Job이 완료될때 마다 다음 Job을 Disk에서 Main Memory로 Load시키는 기능을 한다.

 

즉, LTS는 Process의 생성 , 수행, 종료에 따라 다른 Process를 Load하는데 걸리는 시간을 다룬다.

 

LTS는 STS에 비해 상대적으로 시간이 오래 걸린다. 또한 수행 빈도도 적으며 시스템 전체 성능에 큰 영향을

 

주지 않는다. 때문에 선택 알고리즘을 다양하게 구사할 수 있다.

 

STS의 경우 CPU Scheduler라고도 불리며 수행 준비가 된 Process중에서 하나를 선택해서 CPU의 제어권을

 

넘기는 기능을 한다. Process 수행중에 생기는 I/O요구 등은 새로운 Process를 선택하게 한다.

 

이러한 선택 작업은 매우 빈번하게 발생한다. 때문에 선택기능의 수행속도가 빨라야 한다.

 

이러한 LTS와 STS의 특성을 나타낸 것이 아래의 그림이다. 그림에서 위쪽의 루프가 LTS, 아래가 STS이다.

 

 

 

 

Process의 경우 CPU를 더 많이 사용하느냐 I/O장치를 많이 사용하느냐에 따라서 CPU-Bound Process

 

I/O-Bound Process로 구분 할 수 있다. 시스템 효율을 높이기 위해서 LTS에서 CPU-Bound와 I/O-Bound를

 

적절히 선택하는 기법이 필요하다.

 

Time-Sharing 시스템에서 처럼 LTS가 Memory에 Load하는 것만을 담당하는 것처럼 LTS의 기능이 축소되기도 한다.

 

 

'C.E > OS' 카테고리의 다른 글

Process - InterProcess Communication(IPC)_1  (0) 2013.12.09
Process - Operation on Process  (0) 2013.12.09
Process - Process Scheduling  (0) 2013.12.09
Process - Process Control Block(PCB)  (0) 2013.12.09
Process - Process State  (0) 2013.12.09