HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
✍🏻
Learnary (learn - diary)
/
🕚
스케줄러
🕚

스케줄러

progress
Done
Tags
CS

스케줄러란

OS로부터 할당 받는 프로세스를 효율적으로 다루어주는 시스템이다.
스케줄러 알고리즘은 여러가지가 존재한다.
 
  1. FIFO(First In First Out)
notion image
자료구조의 큐와 같다.
먼저 들어온 process부터 실행하는 시스템
 
  1. SJF (Short Job First)
    1. notion image
      실행시간이 짧은 프로세스부터 실행하는 시스템이다.
      프로세스의 시간을 미리 예측하는 것은 쉽지 않기 때문에 이상적인(한계적인) 방법이다.
      실행시간이 긴 프로세스는 더욱 느리게 실행되는 이슈가 있다. 그래서 aging을 통해 기아현상을 해결할 수 있다.
  1. Priority-based
    1. notion image
      프로세스에 우선순위를 매겨, 실행하는 시스템이다.(높은 순 또는 낮은순)
      예를들어 카카오톡 실행을 뒤로 미루고 먼저 Intelij부터 실행하게 설정하여 Intelij부터 실행하게 된다.
      즉, 미리 우선순위를 지정해야 한다.
  1. Round-Robin
    1. notion image
      프로세스를 일정한 시간 단위동안만 번갈아가며 프로세스를 실행하는 방식으로 가장 공평하다.
      이런 방안은 오랫동안 실행되는 프로세스로인해 다른 것들 또한 멈춰야하는 릴레이 현상으로부터 출현되었다.
      한편으로 문맥교환의이 자주 일어나는 이슈가 있다.