CS

운영체제(3)

MIRACLE LIFE 2023. 11. 22. 22:04

CPU Scheduler

Ready 상태의 프로세스 중에서 이번에 CPU를 줄 프로세스를 고른다

 

Dispatcher

CPU의 제어권을 CPU scheduler에 의해 선택된 프로세스에게 넘긴다

nonpreemptive(비선점형 스케줄링) - 강제로 빼앗지 않고 자진 반납

preemptive(선점형 스케줄링) - 강제로 빼앗음

 

스케줄링 성능 척도

1. 이용율

2. 처리량

3. 시간

  • 소요 시간
  • 대기 시간: CPU를 얻는데 총 대기한 시간
  • 응답 시간: 최초로 CPU를 얻는데까지 걸린 시간

스케줄링 알고리즘

  • FCFS (First-Come First-Served): 먼저 온 순서대로 처리. 작업이 끝날때까지 CPU를 반환하지 않는다
  • SJF (Shortest-Job-First): CPU burst time이 가장 짧은 프로세스를 제일 먼저 처리
  • SRTF (Shortest-Remaining-Time-First): 현재 수행중인 프로세스의 남은 burst time보다 더 짧은 CPU burst time을 가지는 새로운 프로세스가 도착하면 CPU를 빼앗김
  • Priority Scheduling: 우선순위가 높은 순서대로 처리
  • Round Robin: 각 프로세스는 동일한 할당 시간을 가짐. 응답 시간이 짧음
  • Multilevel Queue: Ready queue를 여러 개로 분할. foreground, background 등
  • Multilevel Feedback Queue: 프로세스가 다른 큐로 이동 가능

'CS' 카테고리의 다른 글

운영체제(5)  (1) 2023.12.06
운영체제(4)  (1) 2023.11.29
운영체제 (2)  (0) 2023.11.15
운영체제 (1)  (0) 2023.11.08