← 질문 목록
#172깊이 0
CPU 스케줄러의 단계별 역할은 무엇인가?
운영체제기초
답변 연습
내 답변 적어보기접힘
이 브라우저에 자동 저장 · 0자
모범답안 확인하기내 답변 뒤에 열어보세요
프로세스의 상태 변화와 실행 우선순위에 따라 실행 주기와 대상자를 정하는 역할이다.
작업 큐
준비 큐
장기 스케줄러가 메모리로 올릴 것을 고른다
준비 큐
CPU
단기 스케줄러가 밀리초 단위로 고른다
디스크
중기 스케줄러가 메모리가 모자라면 내려보낸다
CPU
준비 큐 (앞의 상태로 돌아갑니다)
받은 몫이 다하면 돌아온다
| 스케줄러 | 역할 |
|---|---|
| 장기 | 작업 큐에서 메모리로 올릴 프로세스 결정 |
| 중기 | 메모리 부족 시 일부를 디스크로 내보냄 |
| 단기 | 준비 큐에서 CPU를 할당할 프로세스 선택 |
장기·중기·단기 스케줄러는 결정 범위와 호출 주기가 다르다. 단기 스케줄러는 밀리초 단위로 빠르게 동작하고, 장기 스케줄러는 일괄 처리 시절에 다중 프로그래밍 정도를 조절하던 자리라 현대 범용 운영체제에는 별도 단계로 없다.
중기 스케줄러는 스와핑으로 메모리 효율을 높인다. 메모리가 부족하면 프로세스를 잠시 디스크로 내려 물리 메모리 자리를 확보한다.
단기 스케줄러는 실제 CPU 점유를 결정하므로 응답 시간과 처리량에 가장 큰 영향을 미친다. 실행 결정을 너무 자주 내리면 문맥 교환 비용이 처리량을 깎는다.