리미로그

[OS] 스케줄러 종류 본문

CS/OS

[OS] 스케줄러 종류

멍발자 2022. 12. 16. 14:23

장기 스케줄러

  • 잡 스케줄러
  • 디스크와 메모리 사이 스케줄링
  • 어떤 프로세스를 메모리 즉 ready queue에 가져올지 선택
  • 따라서 다중프로그래밍 정도를 결정
다중프로그래밍 : 하나의 CPU로 동시에 여러 프로그램을 실행하는 것처럼 처리하는 시스템

 

중기 스케줄러

  • 메모리에 올라와있는 프로세스 수를 조절
  • 메모리가 한계가 있기 때문에 모든 프로세스를 올릴 수 없으므로 필요
  • swap in / swap out
  • 메모리에서 현재 필요한 프로세스만 남겨두고 backing store(secondary storage)에 저장
  • 다중프로그래밍 정도를 조절

 

단기 스케줄러

  • CPU 스케줄러
  • 메모리와 CPU 사이 스케줄링
  • ready queue에 있는 프로세스 중 다음에 실행될 프로세스를 선택하는 역할( 어떤 프로세스를 running 상태로 가져올지 선택 )
  • CPU 사용을 극대화하기 위해 빠르게 프로세스를 전환 → 사용자 입장에서 여러 프로세스가 동시에 실행되는 것 같은 illusion 제공
  • 자주 발생하므로 빨라야 함


프로세스 상태 전이

 

 

  1. new : 프로세스 생성
  2. ready : CPU 점유할 준비
  3. waiting : 이벤트가 일어나기를 기다림
  4. running : CPU 점유 중
  5. terminated : 종료 

'CS > OS' 카테고리의 다른 글

[OS] PCB & Context Switching  (0) 2022.12.15
[OS] 프로세스 주소 공간  (0) 2022.12.13
[OS] 프로세스와 스레드 차이  (0) 2022.12.13
Comments