[OS] Lecture 5. Process Scheduling (4/4) - MLQ, MFQ

2022. 2. 5. 15:31·OS

MLQ와 MFQ 

이전 SPN, SRTN, HRRN의 단점인 BT예측 overhead를 해결


MLQ(Multi Level Queue)

- ready queue가 여러 개 가짐

- 각각의 큐마다 작업 또는 우선순위 배정

- 최초 배정 된 큐는 고정. 큐 이동 못함.

- 각각의 큐 자신만의 스케줄링 기법 사용

- 큐 사이에는 우선순위 기반의 스케줄링 사용(각각 큐가 우선순위가 다르다)

 

MLQ의 단점

- 우선순위 낮은 큐는 여전히 starvation 현상 발생 가능

- 여러 개 큐 관리 등 스케줄링 overhead 발생

- 큐 고정. 시스템 변화 적응 어려움


MFQ(Multi Level Feedback Queue)

-MLQ와의 차이: 프로세스의 큐간 이동이 허용

- Feedback을 통해 우선순위 조정

- 프로세스에 대한 사전 정보 없이 SPN, SRTN, HRRN 기법 효과 

 

MFQ 특성

- Dynamic priority

- Preemptive scheduling

 

 

MFQ 변형

- 각 ready queue마다 시간 할당량을 다르게 배정 가능
ex) 중요한 프로세스 time quantum= infinite, 덜 중요 time quantum= 2ms

- 큐 이동 기준이 되는 정책/전략 선택 가능
ex) 입출력 위주 프로세스(I/O bounded)들은 상위 레벨 큐로 이동(우선순위 높임)
     - 프로세스가 block될 때 상위 큐로 진입하게 함. 
     - 평균 응답 시간 줄임? I/O bounded는 CPU 잠깐 쓰고 나옴. 입출력 작업 분산 시킴

ex) 대기 시간이 지정된 시간 초과한 프로세스들은 상위 레벨 큐로 이동
     - aging 기법

 

MFQ의 단점

- 큐 이동, 큐 관리-> 스케줄링 overhead 큼

- 여전한 starvation 문제(낮은 우선순위 큐)

 

 

'OS' 카테고리의 다른 글

Concurrency vs Parallelism  (0) 2022.02.10
[OS] Lecture 6. Process Synchronization and Mutual Exclusion (1/7) - Introduction  (0) 2022.02.05
[OS] Lecture 5. Process Scheduling (3/4) - SPN, SRTN, HRRN  (0) 2022.02.05
[OS] Lecture 5. Process Scheduling (2/4) - FCFS, RR  (0) 2022.02.05
[OS] Lecture 5. Process Scheduling (1/4)  (0) 2022.02.05
'OS' 카테고리의 다른 글
  • Concurrency vs Parallelism
  • [OS] Lecture 6. Process Synchronization and Mutual Exclusion (1/7) - Introduction
  • [OS] Lecture 5. Process Scheduling (3/4) - SPN, SRTN, HRRN
  • [OS] Lecture 5. Process Scheduling (2/4) - FCFS, RR
사랑우주인
사랑우주인
  • 사랑우주인
    lovelyAlien
    사랑우주인
  • 전체
    오늘
    어제
  • 글쓰기
    관리
    • 분류 전체보기 (209)
      • Programming (4)
        • Spring (28)
        • Java (46)
        • JPA (2)
        • 디자인 패턴 (5)
        • 개발&아키텍처 (0)
      • Network (14)
      • OS (19)
      • Database (1)
      • Kubernetes (0)
      • Kafka (2)
      • Algorithm (49)
        • BaekJoon (1)
        • Programmers (19)
        • Algorithm (5)
        • Socar (2)
        • LeetCode (19)
      • Interview (2)
      • Issues (2)
      • DotJoin (1)
      • Git (4)
      • 독서 (3)
      • 끄적끄적 (1)
      • 외부활동 (26)
        • 항해플러스 (2)
        • JSCODE 네트워크 (19)
        • JSCODE 자바 (5)
      • SQL (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • GitHub
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    minimum number of arrows to burst balloons
    socar
    JSCode
    Reorder List
    AuthenticationSuccessHandler
    추상화 클래스
    Generic
    LinkedList
    BFS
    디자인 패턴
    @JsonNaming
    Thread
    lower bounded wildcards
    RR
    @JsonProperty
    트랜잭션
    fcfs
    OS
    rotting oranges
    Oauth2
    runner 기법
    Climbing Stairs
    운영체제
    Process
    clone graph
    pacific atlantic water flow
    제네릭
    wildcards
    준영속 엔티티
    algorithm
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.1
사랑우주인
[OS] Lecture 5. Process Scheduling (4/4) - MLQ, MFQ
상단으로

티스토리툴바