TIL (Today I Learned)

TIL_230313

남 희 2023. 3. 13. 23:59

오늘 한 일 [DONE]

  • BFS 알고리즘 풀기
  • CS 네트워크 복습 질문
  • CS 운영체제 공부

1️⃣ CPU 스케줄링 알고리즘

CPU 스케줄러가 어떤 프로세스에게 CPU 소유권 줄지 결정하는 알고리즘.

CPU 스케줄링의 목표

1. CPU utilization 최대화

2. Throughput, 특정 시간에 실행되는 일의 수를 많게

3. Ready Q에 있는 프로세스는 적게

4. 응답 시간(Response Time)은 짧게

 

CPU가 작업하는 프로세스를 강제로 뺏느냐 뺏지 않느냐에 따라 선점, 비선점으로 나뉜다.

비선점(non-preemptive)

  •   FCFS(First Come, First Served) : 가장 먼저 온 것을 가장 먼저 CPU 제공.
  •   SJF(Shortest Job First) : 가장 실행시간이 짧은 프로세스부터 CPU 제공.
  •   우선순위(Priority Scheduling) : 우선순위를 매겨서 우선순위 순으로 실행. Aging.

 

선점(preemptive)

  •   Round-Robin : 도착한 순서대로 정해진 시간 만큼만 CPU 선점 (FCFS + 선점)
  •   SRF(Shortest Remaining Time First): 나중에 도착한 거라도 실행시간이 더 짧다면 그것부터 실행 (+ 선점)
  •   다단계 큐(Multilevel Q Scheduling) : 프로세스 분류별로 우선순위 큐가 정해져 있어서 해당 우선순위 큐에서 실행 대기.

 

 

 

참고 자료

더보기
주홍철, <면접을 위한 cs 전공지식 노트>, 길벗, 2022

'TIL (Today I Learned)' 카테고리의 다른 글

TIL_230316-0317  (0) 2023.03.17
TIL_230314-0315  (0) 2023.03.15
TIL_230310  (0) 2023.03.11
TIL_230309  (0) 2023.03.10
TIL_230308  (0) 2023.03.08