CPU스케쥴러와 선점/비선점

강민승·2023년 4월 13일
0

CPU schedular vs Dispatcher

여기서 스케쥴러는 CPU가 놀지 않도록 프로세스를 선택하는 역할을 한다.

즉,

cpu 스케쥴러는 cpu에서 실행될 프로세스를 선택하는 역할

디스패쳐는 선택된 프로세스가 실제로 cpu 에서 실행될 수 있도록 만드는 역할

  • context switching
  • 등등

즉, 디스패쳐는 선택된 프로세스에게 cpu를 할당하는 역할

스케쥴링의 선점 방식

Nonpreemptive scheduling vs Preemptive scheduling

운영체제가 강제적으로 개입하는 것이 아닌 프로세스 스스로 러닝상태를 멈추고 I/O 상태로 들어간다던데 멈춘다던가 다른 프로세스가 cpu를 사용할 수 있도록 양보한다.

cooperative → 스스로 양보하는 것

스케쥴링 알고리즘

  1. FCFS ( first-come, first-served ) - 먼저 도착한 순서대로 처리
  2. SJF ( shortest-job-first) - 프로세스 다음 cpu burst가 가장 짧은 프로세스부터 실행
  3. SRTF ( shortest-remaining-time-first ) - 남은 CPU burst가 가장 짧은 프로세스부터 실행
  4. priority - 우선순위가 높은 프로세스부터 실행
  5. RR ( round-robin ) - time slice 로 나눠진 cpu time 을 번갈아가며 실행
  6. Multilevel queue - 프로세스들은 그룹화해서 그룹마다 큐를 두는 방식
profile
Step by Step goes a long way. 꾸준하게 성장하는 개발자 강민승입니다.

0개의 댓글