Welcome! Everything is fine.

#10. 스케줄러의 종류 본문

CS 스터디

#10. 스케줄러의 종류

개발곰발 2024. 2. 13.
728x90

하드 드라이브에 보관되어있던 프로그램을 실행시키면 프로그램이 메모리에 올라온다. 이때 프로그램은 실행 중인 프로그램, 즉 프로세스가 된다. 이렇게 메모리에 올라온 프로세스를 CPU에서 가져다가 사용하는 것이다. 다시 말하자면, 프로세스들이 메모리에 저장되어있다가 하나씩 CPU로 가서 실행된다는 것이다. 이때, 어떤 프로세스에 CPU와 메모리를 할당할지 결정해주는 것이 스케줄러의 역할이다.

 

스케줄러의 종류에는 장기 스케줄러, 단기 스케줄러, 중기 스케줄러 3가지가 있다.

 

장기 스케줄러(Long-term Scheduler)

= 작업 스케줄러(Job Scheduler)

  • 디스크와 메모리 사이의 스케줄링을 관리함.
  • 현대 운영체제에서는 장기 스케줄러 없이 바로 준비큐에 넣어줌.
  • 어떤 프로세스를 준비큐에 삽입할지 결정하는 역할.
  • 스케줄링이 발생하는 시간이 비교적 오래 걸림.

단기 스케줄러(Short-term Scheduler)

= CPU 스케줄러(CPU Scheduler)

  • 메모리와 CPU 사이의 스케줄링을 관리함.
  • Ready Queue(= CPU 점유를 기다리는 줄)에서 어떤 프로세스를 CPU로 올려 실행시킬지 결정함.
  • CPU 자원을 효율적으로 사용하기 위해 필요.
  • 이름처럼 매우 짧은 시간 단위로 수행됨.(장기 스케줄러보다 빠름)

중기 스케줄러(Medium-term Scheduler)

= 스와퍼(Swapper)

  • 프로세스를 스와핑(Swapping)하여 여유공간을 마련함.
  • 너무 많은 프로그램이 동시에 올라가는 것을 조절해 시스템의 성능이 저하되는 것을 해결함.