본문 바로가기
운영체제

프로세스 스케줄링,스케줄러 종류

by 핫동경 2022. 4. 11.
반응형

프로세스 스케줄링

프로세스 스케줄러는 CPU에서 실행 가능한 여러 프로세스들 중에서 하나의 프로세스를 선택한다.

프로세스를 스케줄링 하는 이유는 CPU의 사용을 최대로 하는 것이며 시간을 나누어 쓰기 위해 CPU에 프로세스를 빠르게 전환시키는데에 있다.

 

프로세스는 스케줄링 큐에 대기하게 되는데 스케줄링 큐는 크게 3가지로 분류된다.

 

1. 잡 큐(Job queue) : 시스템의 모든 프로세스의 집합

 

2. 준비 큐(Ready queue) : 메인 메모리에 존재하고 실행을 기다리며 준비된 모든 프로세스의 집합

 

3. 장치 큐(Device queues) : I/O장치를 기다리고 있는 프로세스의 집합


스케줄러의 종류

1. 단기 스케줄러(Short-term scheduler) 또는 CPU 스케줄러

다음 번에 실행될, CPU를 할당할 프로세스를 선택한다.

CPU는 여러 프로세스를 왓다갓다 하면서 마치 동시에 실행되는 것 처럼 보이게 해준다.

계속 여러 프로세스를 돌아다니기 때문에 단기 스케줄러는 매우 자주 호출된다. 때문에 매우 빨라야 한다.

 

2. 중기 스케줄러(Medium-term scheduler)

메모리를 자유화 시키기 위해서 사용된다.

즉 메모리에서 프로세스를 제거하여 디스크에 저장하고, 실행을 계속하기 위해서는 디스크에서 메모리로 다시 적재되는 스와핑 기법을 사용한다.

메모리가 꽉 차 있어 조금 여유를 주고 싶을 때나 다른 프로세스를 메모리에 넣어야할 때 중기 스케줄러는

메모리에 있는 프로세스를 디스크에 저장하고 새로운 프로세스를 집어넣는다. 메모리에 다시 공간이 생기면 디스크에 저장된 프로세스를 다시 메모리에 적재시킨다.

다중프로그래밍의 정도를 낮출 때 사용한다.

 

3. 장기 스케줄러(Long-term scheduler) 또는 Job 스케줄러

준비 큐(Ready queue)로 불러들일 프로세스를 선택한다.

장기 스케줄러는 보통 자주 호출되지 않기 때문에 실행 빈도수가 매우 적다.

장기 스케줄러는 다중프로그래밍의 정도를 결정한다.


입출력 집중 프로세스 / cpu 집중 프로세스

입출력 집중(I/O-bound) 프로세스

계산 보다 입출력에 더 많은 시간을 소모하는 프로세스이며 짧은 CPU 활동시간이 많이 나타난다

 

CPU 집중(CPU-bound)프로세스

계산하는 데 더 많은 시간을 소모하는 프로세스 매우 긴 cpu활동시간이 드물게 나타난다

 

장기 스케줄러는 입출력 집중 프로세스와 cpu집중 프로세스가 고루 섞이게 프로세스 혼합이 되도록 노력해야 한다.

반응형

댓글