기어가더라도 제대로

[운영체제 - 김덕수 교수님] 프로세스 스케쥴링 (4/4) - MLQ, MFQ 본문

CS/운영체제

[운영체제 - 김덕수 교수님] 프로세스 스케쥴링 (4/4) - MLQ, MFQ

Damagucci-juice 2022. 7. 31. 09:51

프로세스 스케쥴링 (4/4) - MLQ, MFQ image

  • 시스템의 성능과 효율성을 높이는 것은 좋으나
  • 실행 시간을 예측하는 것이 힘드니 대안으로
  • MLQ, MFQ 가 나왔다.

‏‏‎ ‎

MLQ(Multi-level Queue)

  • 작업(or 우선순위) 별 별도의 ready queue를 가짐
    • 최초 배정 된 큐를 벗어나지 못함
    • 각각의 큐는 자신만의 스케줄링 기법 사용
  • 큐 사이에는 우선순위 기반의 스케줄링 사용
    • fixed-priority preemptive scheduling
  • 장점
    • 빠른 응답시간(?)
  • 단점
    • 여러 개의 큐 관리 등 스케줄링 오버헤드
    • 우선순위가 낮은 큐는 기아현상 발생 가능

‏‏‎ ‎

프로세스 스케쥴링 (4/4) - MLQ, MFQ image

‏‏‎ ‎

MFQ(Multi level Feedback queue)

  • 프로세스의 큐간 이동이 허용된 MLQ
  • Feedback을 통해 우선 우선 순위 조정
    • 현재까지의 프로세서 사용 정보(패턴) 활용
  • 특성
    • Dynamic priority
    • Preemptive scheduling
    • Favor short burst-time processes
    • favor I/O bounded processes
    • improve adaptability
  • 프로세스에 대한 사전 정보 없이 SPN, SRTN, HRRN 기법의 효과를 볼 수 있음

프로세스 스케쥴링 (4/4) - MLQ, MFQ image

  • 단점
    • 우선 순위가 낮은 큐는 어차피 오래 걸림(starvation) - 최초 피드백을 받지 못하기 때문
    • 설계 및 구현이 복잡, 스케줄링 오버헤드가 큼
  • 변형
    • 각 준비 큐마다 시간 할당량을 다르게 배정
      • 프로세스의 특성에 맞는 형태로 시스템 운영 가능
    • 입출력 위주 프로세스들을 상위 단계의 큐로 이동, 우선순위 높임
      • 프로세스가 block될 때 상위의 준비 큐로 진입하게 함
        • i/o-bounded는 cpu 를 잠깐만 쓰기때문에
        • compute-bounded는 상대적으로 우선순위에서 밀려남
      • 시스템 전체의 평균 응답 시간 줄임, 입출력 작업 분산 시킴
    • 대기 시간이 지정된 시간을 초과한 프로세스들을 상위 큐로 이동
      • 에이징 기법(aging)

‏‏‎ ‎

‏‏‎ ‎

Comments