December 25, 2019
반효경 교수님 <운영체제 수업(2014)>을 듣고 추가 자료를 덧붙여 정리한 내용입니다.
각 레벨별로 별도의 스케줄링 알고리즘을 적용할 수도 있다.
foreground(대화형) process - RR
background batch process - FCFS
queue에 대한 스케줄링이 필요
출처: https://walkccc.github.io/CS/OS/Chap06/#611-cpuio-burst-cycle
Multilevel Feedback Queue를 정의하는 파라미터들과 일반적인 운영방식
각 queue별로 어떤 스케줄링 알고리즘을 적용할 것인가
상위 queue로 갈수록 RR + 짧은 quantum unit, 가장 하위의 queue는 FCFS
프로세스를 상위(또는 하위) queue로 보내는 기준은 무엇인가
상위 queue에서 할당한 시간이 만료될 경우 바로 다음 하위 queue로 강등되며 상위 queue가 빌 때 까지 대기해야 함
출처: https://tutorialwing.com/multilevel-feedback-queue-scheduling-tutorial-example/
Homogeneous processor인 경우
Load Sharing 필요
Symmetric Multiprocessing (SMP)
Asymmetric multiprocessing
- real-time job은 주로 특수 목적의 컴퓨터 시스템에서 적용되는데, 실행 결과가 제대로 출력되는 것 뿐만 아니라 실행되는 시점도 지정된 시간 내에 실행이 완료되어야 한다. (e.g. 미사일 방어 시스템, 자동 브레이크 시스템)
- real-time job들은 periodic한 특성을 가진 경우가 많다. (e.g. 10초에 한 번씩 최소한 1초 동안 CPU를 가져야 한다.)
Queueing models
확률분포로 주어지는 arrival rate(프로세스의 도착률)와 service rate(CPU의 처리율) 등을 통해 각종 performance index 값을 계산해서 여러가지 성능 척도들을 도출하는 방법
Implementation & Measurement
실제 시스템에 알고리즘을 구현하여 실제 작업(workload)에 대해서 성능을 측정 비교
Simulation
알고리즘을 모의 프로그램으로 작성 후 trace를 입력하여 결과 비교