게으른 개발자

5강-2. CPU Scheduling 2 본문

cs/운영체제

5강-2. CPU Scheduling 2

Tomato_Coffee 2023. 11. 4. 10:50

현대적인 cpu 스케줄링은 preemptive - 선점형 스케줄링을 거의 대부분 사용 중이다.


 

cpu 스케줄링의 성능을 판단하는 기준

  • 시스템 입장에서 성능척도
    • 이용률
      • 전체 시간에서 cpu가 놀지 않고 일한 시간
    • 처리량
      • 주어진 시간 동안에 몇 개의 작업을 완료한 양
  • 프로세스 입장에서 성능척도
    • 소요시간
      • cpu를 사용을 시작하고 사용을 끝낸시간 -> 걸린 시간
    • 대기시간
      • 순수하게 기다린 시간을 의미한다.
    • 응답시간
      • 처음으로 cpu를 얻기까지 걸린 시간
      • ex) 중국집을 예시로 첫 번째 음식이 나오는 데 걸리는 시간.

 

 FCFS는 비선점형 방식이다. 그러나 효율적이지는 않다. 너무 오래 기다리는 경우가 있기 때문에 좋은 스케줄링 방법이 아니다. ===> Convoy effect

FCFS는 짧은 프로세스가 올 경우에 위와 다른 결과가 나온다.  평균 대기 시간이 많이 줄어든다.


SJF : 전체적은 queue가 짧아진다.

전체적인 기다리는 시간이 제일 짧다.

  • Preemptive일 때 SJF를 SRTF라고 부르기도 한다.

Non - Preemptive SJF
Preemptive SJF

  • SJF에서 preemptive 일 때, Average waiting time 은 최솟값(optimal)을 가진다. 어떤 스케줄링이 와도 평균대기시간이 이것보다 작을 수는 없다.  

SJF 스케줄링은 Starvation(기아) 문제가 발생한다.
cpu 사용시간 예측

아래 첨자인 n은 몇번째 인지 알려주는 역할을 한다. t

최근의 과거는 가중치를 높게 반영하고 많이 오래된것은 가중치를 낮게 반영한다.


  • 영원히 cpu를 못 얻는 프로세스가 있을수 있다. -> 기아 현상
    • 해결법은 Aging (노화) -> 우선순위를 조금씩 높여준다. 
      • 나이가 많은 노인들을 먼저 화장실을 쓰게 해준다.

RR 방법은 응답시간이 빠르다는 장점이 있다.=> cpu를 최초로 얻기까지 걸리는 시간이 짧다는 장점이다.

적당한 규모의 TIME QUANTUM을 주는게 좋다.

trunaround time이 길고, response time이 짧다.

 

'cs > 운영체제' 카테고리의 다른 글

6강-1. Process Synchronization 1  (0) 2023.11.04
5강-3. CPU Scheduling 3  (0) 2023.11.04
5강-1. CPU Scheduling1  (0) 2023.11.03
4강-2. Process Management 2  (0) 2023.11.03
4강-1. Process Management 1  (0) 2023.11.03