CPU 스케쥴링
지난주 복습
- 다중 프로그래밍 환경에서 프로세스가 결코 발생하지 않을 사건을 기다리는 상태가 되면
교착상태라고 한다. - 교착상태는
상호배제,점유와대기,비선점조건,순환대기를 만족할 때 발생한다. - 교착 상태를 해결하는 방법으로는
- 교착 상태가 발생하지 않도록
예방하거나 - 교착상태의 발생 가능성을 인정하지만 발생 시점에 적절히
회피하거나, - 교착 상태가 발생하였는지
감시하여제거하거나, - 아예
무시하고 개발자의 몫으로 넘기는 방법이 있다.
- 교착 상태가 발생하지 않도록
- 높은 우선순위의 프로세스가 낮은 우선순위의 프로세스로 인하여 우선순우가 낮은 것처럼 대기하고 있는 상태를
우선순위 역전이라고 한다. 이를 해결하기 위하여우선순위 계층 프로토콜을 이용한다.
학습목표
- CPU 스케줄링의 개념과 목적을 설명할 수 있다.
- 단계별, 정책별 스케줄링 기법을 숙지하여 스케줄링 방식을 체계적으로 정리할 수 있다.
- CPU 스케줄링의 종류에 대해서 살펴보고 각각의 특징을 기술할 수 있다.
학습내용
퀴즈로 확인하기
정리하기
- 여러 프로세스들이 번갈아 사용하는 자원을 어떤 시점에 어떤 프로세스에게 할당할지 결정하는 행우리르 스케줄링이라고 하며, 이를 통하여 시스템 성능을 극대화 한다.
- 단계구분
- 장기, 단기, 중기 스케줄러
- 장기 스케줄러는 저장장치에 있는 프로그램을 선택하여 메모리에 적재하여 동작을 시작한다.
-
중기 스케줄러는 동작중인 프로세스들 중에서 일부를 저장장치로 제외시키는 스와핑 동작을 수행하여 다중 프로그램의 정도를 조정한다.
- 정책별 구분
- 선점형/비선점형 스케줄링
-
한 프로세스가 자원을 보유하고 있을 때 다른 프로세스가 해당 자원을 가져올 수 없다면
비선점형이고, 해당 자원을 가져올 수 있다면선점형이다. - 알고리즘별 구분
- 선입선처리(FCFS)
- 최소작업 우선 스케줄링(SJF)
- 우선순위(Priority)
- 라운드로빈(RR)
- 다단계 큐(MLQ)
- 다단계 피드백 큐(MLFQ)
- HRN
- 시스템 성능 기준
- CPU 사용률(CPU Utilization)
- 처리량(Throughput)
- 반환 시간(turn-around time)
- 대기시간(Wating Time)
- 응답시간/반응시간(Response Time)