본문 바로가기

운영체제/CPU 스케쥴링(scheduling)

운영체제 - CPU 스케쥴링(3) 운영체제 - CPU 스케쥴링(3) - CPU 스케쥴링은 CPU Burst 단위로 일어난다.앞서, CPU 스케쥴링 기법으로 ①FIFO, ②SJF, ③Round Robin을 알아보았다.SJF(Shortest Job First)는 가장 이상적인 스케쥴링 기법이지만 운영체제가 각 프로세스의 CPU Burst size를 예측할 수 없기 떄문에 불가능한 기법이라고 하였다.그에따라 FIFO를 대체할 기법으로 Round Robin이 등장하였는데 항상 Round Robin이 FIFO보다 성능이 우수할까? 예를들어, 100 time을 요구하는 process 10개가 Ready Queue에 있다고 가정해보자.Response time을 각 스케쥴링 기법에 대해 측정해보면FIFO의 평균 Response time : (100+2..
운영체제 - CPU 스케쥴링(2) 운영체제 - CPU 스케쥴링(2) Scheduling은 Policy + Mechanism이다. Scheduling Policy Q. Scheduling policy가 컴퓨터 시스템의 성능에 어떤 영향을 미칠까?( P : process, C : cpu time )P1 : C1 = 10, P2 : C2 = 100 P1 > P2W(p1) = 0, W(p2) = 10, Wavg = 5P2 > P1W(p1) = 100, W(p2) = 0, Wavg = 50즉, Ready Queue에 있는 프로세스 중 무엇을 먼저 수행하느냐에 따라 컴퓨터 시스템의 성능에 차이가 있다. 컴퓨터 시스템의 성능을 나타내는 지표에는 무엇이 있을까? 컴퓨터 시스템 성능평가 척도Throughput : 단위시간당 수행완료되는 프로세스의 수Tu..
운영체제 - CPU 스케쥴링(1) 운영체제 - CPU 스케쥴링(1) CPU 스케쥴링이란?어떤 프로세스에게 CPU를 할당할 것인가?CPU를 할당받은 프로세스에게 얼마만큼의 CPU Time을 제공할 것인가?이 두가지에 대한 고민이 CPU 스케쥴링(scheduling)이다. 1. preemptible resource- 한 프로세스가 점유한 상태에서 다른 프로세스에게 양보할 수 있는 자원.ex. CPU, main memory(swapping) 2. non-preemptible resource- 한 프로세스가 점유하면 사용을 마칠 때까지 다른 프로세스에게 양보할 수 없는 자원ex. 프린터(Printer) CPU 스케쥴링을 지원하기 위해 CPU Burst라는 단위를 만들었다. # CPU Burst- 프로그램의 수행 중에 연속적으로 CPU를 사용하는..