Home CPU Scheduling Algorithm
Post
Cancel

CPU Scheduling Algorithm

CPU Scheduling Algorithm

Non Preemptive Scheduling

FCFS(First Come First Served)

  • 도착한 순서에 따라 차례로 CPU를 할당하는 기법

SJF(Shortest Job First)

  • 실행 시간이 가장 짧은 프로세스에게 먼저 CPU를 할당하는 기법

Preemptive Scheduling

Priority Scheduling

  • 가장 높은 우선순위를 가진 process를 schedule

  • SJF는 Priority Scheduling의 special case

  • FCFS는 equal priority를 가진 priority scheduling

  • 문제점 : 낮은우선순위 Process들이 Schedule 될수 없는 경우 발생(Starvation)

  • 해결책 : Aging => 점진적으로 process들의 우선순위를 증가시킴

Round Robin Scheduling

  • queue에 있는 프로세스를 주어진 time quantum만큼 실행

  • 실행이 끝나지 않으면 queue에 enqueue

  • time quantum이 너무크면 FCFS이고, time quantum이 너무 작으면 context switching하는데 overhead가 증가함

Multilevel Queue Scheduling

  • 하나의 ready queue를 여러 독립 큐로 나누고, 각각의 queue에 독자적 스케줄링 알고리즘 사용

  • process들은 하나의 queue에 영구적으로 할당됨

Multilevel Feedback Queue Scheduling

  • process들이 queue들 사이로 이동 가능
  • 특정 그룹의 준비상태 큐에 들어간 프로세스가 다른 준비상태 큐로 이동할 수 있음
  • 각 준비상태 큐마다 시간 할당량을 부여하여 그 시간 동안 완료하지 못한 프로세스는 다음 단계의 준비상태 큐로 이동됨.
This post is licensed under CC BY 4.0 by the author.

Multilevel Queue (MLQ) Scheduling

Deadlock

Comments powered by Disqus.

Trending Tags