5-2 CPU Scheduling

Copes·2022년 10월 29일
0

OS

목록 보기
9/15

Multilevel Queue

  • 우선순위에 따라 프로세스의 순서

  • 생성 시에 우선순위가 결정

  • Ready Queue를 여러 개로 분할

    • foreground (interactive)
    • background (batch - no human interaction)
  • 각 큐는 독립적인 스케줄링 알고리즘을 가짐

    • foreground - RR
    • background - FCFS
  • 큐에 대한 스케줄링이 필요

    • Fixed Priority Scheduling
      • foreground 먼저 수행 후 background를 수행
      • starvation이 발생할 수 있다.
        • 해결책 : timeslice - 각 큐에 CPU time을 적절한 비율로 할당(80% - foreground, 20% - background)

Multilevel Feedback Queue

  • 우선순위가 변경된다.
  • 할당 시간 내에 처리가 되지 않는 경우 time quantum을 점점 늘여나간다. (우선순위는 점점 낮춘다.)

Real-Time Scheduling

  • Hard real-time systems
    • 정해진 시간 내에 반드시 수행되도록 해야 한다.
  • Soft real-time systems
    • soft real-time task는 일반 프로세스에 비해 높은 priority를 갖도록 해야 한다.

Thread Scheduling

  • Local Scheduling
    • User level thread의 경우 사용자 수준의 thread library에 의해 어떤 thread를 스케줄할 지 결정
  • Global Scheduling
    • Kernel level thread의 경우 일반 프로세스와 마찬가지로 커널의 단기 스케줄러가 어떤 thread를 스케줄할 지 결정

Algorithm Evaluation

  • Queueing models
    • 확률 분포로 주어지는 arrival rate와 service rate 등을 통해 각종 performance index 값을 계산
  • Implementation (구현) & Measurement (성능 측정)
    • 실제 시스템에 알고리즘을 구현하여 실제 작업(workload)에 대해서 성능을 측정 비교
  • Simulation (모의 실험)
    • 알고리즘을 모의 프로그램으로 작성 후 trace를 입력으로 하여 결과 비교

0개의 댓글