콘텐츠로 이동

CPU 스케줄링 알고리즘

CPU 스케줄링 알고리즘

비선점형 방식

  • 프로세스가 스스로 CPU의 소유권을 포기하는 방식
  • FCFS
    • 가장 먼저 온 것을 가장 먼저 처리하는 알고리즘
    • 준비 큐에서 오래 기다릴 수도
  • SJF
    • 실행 시간 가장 짧은 프로세스를 가장 먼저 실행하는 알고리즘
    • 긴 시간을 가진 프로세스가 실행되지 않는 현상이 일어나며 평균 대기 시간 가장 짧음
    • 과거 실행시간 토대로 추측해서 사용
  • 우선순위
    • 우선순위를 높이는 aging을 통해서 단점 보완

선점형 방식

  • 프로세스를 알고리즘에 의해 중단시켜 버리고 강제로 다른 프로세스에 CPU 소유권을 할당하는 방식
  • 라운드 로빈
    • 우선순위 스케줄링의 일종으로 각 프로세스는 동일한 할당시간을 주고 그 안에 끝나지 않으면 준비큐 뒤로 가는 알고리즘
    • 로드밸런서에서 트래픽 분산 알고리즘으로도 쓰임
  • SRF
    • SJF에서 중간에 더 짧은 작업 들어오면 수행하던 프로세스 중지하고 해당 프로세스 수행하는 알고리즘