Programming/운영체제

CPU 스케쥴링 알고리즘(3) - Multilevel Queue Scheduling, Multilevel Feedback Queue Scheduling

1. Multilevel Queue Scheduling

1) Process groups

    - System processes : o/s 프로세스(ex. 파일 읽기)

    - Interactive processes : 사용자 프로세스 (ex. 게임)

    - Interactive editing processes : 편집하는 프로그램 (ex. word)

    - Batch processes : 일괄적으로 처리하는 프로세스

    - Student processes

2) Single ready queue - Several separate queues

위 그룹처럼 각각 성질이 다른 큐를 하나의 Ready Q로 처리하는 것은 무리가 있다. 왜냐하면 각기 다른 중요도를 갖고 있기 때문이다.

그래서 각 그룹 별로 여러개의 큐를 둔다.

  • 각각의 Queue에 절대적 우선순위 존재
  • 또는 CPU time을 각 Queue에 차등 배분
  • 각 Queue마다 독립된 Scheduling 정책 채택

2. Multilevel Feedback Queue Scheduling

  • 복수 개의 Queue
  • 다른 Queue로의 점진적 이동

    - 모든 프로세스는 하나의 입구로 진입

    - 너무 많은 CPU time 사용 시 다른 Queue로 이동

    - 기아 상태 우려 시 우선 순위 높은 Queue로 이동