본문 바로가기

카테고리 없음

[하]CPU스케줄링에 대해 알아보자!

CPU 스케줄링


[하] CPU 스케줄링에 대해 알아보자!


추천 눌러주고 보세요.^^
추--------천

FCFS 

 준비 큐에 먼저 도착한프로세스에게 먼저 CPU를 할당합니다

CPU를 독점하여 사용하는 비선점방식이라 프로세스가 CPU를 독점해서 아주 긴 프로세스가 실행될경우 뒤에있는 프로세스들은 오래 기다려야 합니다. 평균 응답시간도 길어집니다.

도착 순서가 실행 순서를 결정짓는다는 점에서 공평하다고 말할 수 있다.

도착 -> 준비큐 -> 디스패치 -> CPU -> 완료

프로그램들이 거의 동시에 P1,P2,P3,P4의 순서로 도착했다고하면


 프로세스

 도착 시간

 요구량(초)

 P1

 00

 100

P2 

 00

 10

P3 

 00

 10

P4   00  10
 

평균 응답시간 = (100+110+120+130)/4 = 115

P2,P3,P4 순서로 들어오면

평균응답시간은 매우 짧아집니다.

(10+20+30+130)/4 = 47.5


이 스케줄링은 요구량이 적은것부터 처리를해야 효율적인 작업을 할수 있습니다.

SPN

준비 큐에서 기다리고있는 프로세스중에서 가장 짧은것을 번저 실행시켜주는 비선점 방식

평균 응답시간은 최소화되지만 예측가능성이 떨어집니다.

실행시간이 긴 프로세스가 CPU를 할당 받지 못하고 계속해서 대기하는 무한 대기 현상이 발생되는데, aging기법으로 해결하면 이 오류는 간단히 처리됩니다.

ps.에이징:기다린 시간만큼 우선순위를 높여 실행 가능성을 높혀주는 기법.

프로세스들의 크기를 실행하기전에는 정확히 알수가 없습니다.

그럼에도 불구하고 그 크기를 가지고 스케줄을 해야 한다는것입니다.


프로세스 

도착 시간 

CPU 요구량 

 P1

10 

P2 

0.5 

P3 

이렇게 P1,P2,P3가 들어온다고 가정을 할 경우에는

(10+16.5+11)/3 = 12.5 가 됩니다.

SRT

 준비 큐에서 완료까지 남은 요구량이 가장 짧은것을 실행시켜주는데 실행도중 남은 시간이 더 적은 프로세스가 준비 큐에 들어올 경우,현재 실행 중인 것을 중단하고 새 프로세스에게 CPU를 할당하는 선점방식.


프로세스 

도착 시간 

CPU 요구량 

P1 

10 

P2 

0.5 

P3 

P1 -> P2 -> P3 -> P2 -> P1


HRRN

 이 스케줄링은 간단합니다.

SPN과 SRT 방식의 약점, 무한 대기 현상을 방지하기 위한 기법입니다.

준비 큐에 있는 프로세스들 중에서 응답률이 가장 높은 프로세스에게 높은 우선순위를 줍니다.

이 스케줄링은 비선점식 방식입니다.

(대기시간+CPU요구량)/CPU 요구량 = 응답률

Round-Robin

 FCFS스케줄링을 기반으로 할당합니다.

각 프로세스는 한번에 쓸수있는 CPU시간크기 즉,시간 할당량이 지나면 시간 종료 인터럽트에 의해 CPU를 뺏기게 되는 선점방식

기본적인 라운드 로빈은 입출력에서 완료 큐가 없음.


프로세스 

요구량 

P1 

30 

P2 

P3 

15 

P4 

10 

응답시간 = (63+18+53+33)/4 = 43

한 프로세스가 CPU를 독점하는 문제를 방지할수 있다.

문맥교환의 오버헤드가 많다.

이런 오버헤드에도 불구하고 대화식 시스템이나 시분할 시스템에 적합한 방식

시간 할당량에 따라 아주 크면 FCFS방식과 같아집니다.

작을경우엔 문맥교환의 오버헤드가 커지고 일반적으로 시간 할당량의 크기는 10~100 미리초가 됩니다.