초록꼬마의 devlog

스케줄링 성능 평가 기준

  1. 평균 대기 시간 = 각 프로세스들이 수행이 완료될 때까지 준비 큐에서 기다리는 시간의 합들의 평균 값
  2. 평균 반환 시간 = 각 프로세스들이 생성된 시점부터 수행이 완료된 시점까지의 소요 시간들의 평균 값

선점 = 우선순위가 더 높은 프로세스가 CPU를 빼앗아 사용 가능
비선점 = 한 번 CPU를 할당 받으면 다른 프로세스가 빼앗아 사용할 수 없음

First-Come First-Served 스케줄링

  • 비선점 스케줄링 알고리즘
  • 준비 큐에 도착한 순서에 따라 디스패치
  • 장점
    • 가장 간단한 스케줄링 기법
  • 단점
    • 짧은 프로세스가 긴 프로세스를 기다리거나, 중요한 프로세스가 나중에 수행될 수 있음 -> 대화식 운영체제에는 부적합
    • 프로세스들의 도착 순서에 따라 평균 반환 시간이 크게 변함

Shortest Job First 스케줄링

  • 비선점
  • 준비 큐에서 기다리는 프로세스 중 실행 시간이 가장 짧다고 예상된 것을 먼저 디스패치
  • 장점
    • 일괄처리 환경에서 구현하기 쉬움
  • 단점
    • 실행 예정 시간 길이를 사용자의 추정치에 의존 -> 실제로는 먼저 처리할 작업의 CPU 시간을 예상할 수 없음 -> 대화식 운영체제에는 부적합

Shortest Remaining Time 스케줄링

Round Robin 스케줄링

Highest Response Ratio Next 스케줄링