5. 프로세스 스케줄링 (4) - MLQ, MFQ

728x90
반응형

출처 : https://www.youtube.com/watch?v=actKUqea6Xc&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN&index=11

 

 

 

이전 장에서 SPN, SRTN, HRRN 스케줄링 기법들을 배웠다. 이 스케줄링 기법들은 효율성, 성능을 높일 수 있었지만 Burst time을 예측 해야하고 이것이 어렵다는 문제점이 있었다.

 

그래서 Burst time을 예측하지 않고도 비슷한 효과를 내고자 MLQ(Multi-Level Queue), MFQ(Multi-Level Feedback Queue) 스케줄링 기법들이 등장하게 되었다.

 

 

MLQ(Multi-Level Queue) :  ready queue를 여러 개 둬서 작업(혹은 우선순위)를 배정해주겠다.

 

  • 작업 (or 우선순위) 별 별도의 ready queue를 가짐
    • 최초 배정 된 queue를 벗어나지 못함
    • 각각의 queue는 자신만의 스케줄링 기법 사용
  • Queue 사이에는 우선순위 기반의 스케줄링 사용
    • Fixed-priority preemptive scheduling 등
  • 장점
    • 빠른 응답시간 (?) (우선 순위가 높은, 중요한 녀석들을 빠르게 처리할 수 있다, 낮으면 느림)
  • 단점
    • 여러 개의 Queue 관리 등 스케줄링 overhead
    • 우선순위가 낮은 queue는 starvation 현상 발생 가능

 

 

즉, 다양한 우선 순위를 가진 여러개의 ready queue를 만들어서 우선 순위가 높은 프로세스들을 먼저 처리해준다.

 

 

MFQ (Multi-level Feedback Queue)

 

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

 

 

Multi level queue에서 우선 순위가 변동할 수 있다.

 

 

  • 단점
    • 설계 및 구현이 복잡하다.
    • 스케줄링 오버헤드가 크다.
    • Starvation 문제 등
  • 변형
    • 각 ready queue 마다 시간 할당량을 다르게 배정
      • 프로세스의 특성에 맞는 형태로 시스템 운영 가능
    • 입출력 위주 프로세스들을 상위 단계의 queue로 이동, 우선 순위 높임
      • 프로세스가 block 될 때 상위의 ready queue로 진입하게 함
      • 시스템 전체의 평균 응답 시간 줄임, 입출력 작업 분산 시킴
    • 대기 시간이 지정된 시간을 초과한 프로세스들을 상위 queue로 이동
      • 에이징(Aging) 기법

 

728x90
반응형