-
# 04-2 스케줄러전공 지식/OS 2022. 11. 7. 20:09
1. 스케줄러란
정의
- 한정적인 메모리를 여러 프로세스가 효율적으로 사용할 수 있도록 다음 실행 시간에 실행할 수 있는 프로세스 중에 하나를 선택하는 역할
종류
(1) 장기 스케줄러(Long-term scheduler) / 잡 스케줄러(Job scheduler)
- degree of multiprogramming 제어
- 디스크와 메모리 사이의 스케줄링 담당
- 어떤 프로세스에 메모리를 할당할여 ready queue로 보낼지 결정하는 역할
(2) 단기 스케줄러(Short-term scheduler) / CPU 스케줄러(CPU scheduler)
- 메모리와 CPU 사이의 스케줄링 담당
- 어떤 프로세스를 running 상태로 전환 시킬지 결정하는 역할
(3) 중기 스케줄러(Mid-term scheduler) / 스와퍼(Swapper)
- degree of multiprogramming 제어
- 여유 공간을 마련하기 위해 프로세스를 통째로 메모리에서 디스크로 쫓아내는 역할(swap in/ swap out)
목적
- 우선순위 제도 : 우선순위가 높은 프로세스를 먼저 실행합니다.
- 오버헤드 최소화 : 오버헤드를 최소화합니다.
- 응답시간 최소화 : 작업을 지시하고 반응하기 시작하는 시간을 최소화합니다.
- 반환시간 : 프로세스를 제출한 시간부터 실행이 완료되는 시간을 최소화합니다.
- 반환시간 최소화 : 프로세스를 제출한 시간부터 실행이 완료될떄까지 걸리는 시간을 최소화합니다.
- 대기시간 최소화 : 프로세스가 준비상태 큐에서 대기하는 시간을 최소화합니다.
- 균형있는 자원의 사용 : 메모리, 입출력장치 등의 자원을 균형있게 사용합니다.
- 무한 연기 회피 : 자원을 사용하기 위해 무한정 연기되는 상태를 회피합니다.
'전공 지식 > OS' 카테고리의 다른 글
# 08. IPC (3) 2022.10.03 # 07. Memory (3) 2022.09.19 # 05. 병행프로세스 동기화 (3) 2022.08.30 # 04. CPU 스케줄링 (0) 2022.08.30 # 03. Interrupt & System call (6) 2022.08.15