-
7.CPU SchedulingComputer Science/Operating System 2021. 8. 21. 16:25
∙스케줄링
∘CPU를 효율적으로 사용하기 위해 프로세스를 배정하는 과정
-조건: 적은 오버헤드, 높은 사용률, 적은 기아 현상
-가능하면 많은 일을 수행.
-빠른 응답 시간, 적은 대기 시간
-기한(deadline)안에 수행
∙프로세스 상태와 상태 전이
∙비선점 스케줄링
➀FCFS(First Come Fist Served)
-큐에 도착한 순서대로 CPU에 할당
-실행 시간이 짧은 프로세스가 뒤로 가면 평균 대기 시간이 길어진다.
➁SJF(Shrtest Job First)
-수행시간이 가장 짧다고 판단되는 프로세스를 먼저 수행
-FCFS 보다 평균 대기 시간 감소. 짧은 작업에 유리
∙선점 스케줄링
➀Priority Scheduling
-정적/동적으로 우선순위를 부여하여 우선순위가 높은 순서대로 처리
-우선 순위가 낮은 프로세스가 무한정 기다리는 기아 현상(Starvation)이 생길 수 있음
->Aging 기법(대기 시간이 늘수록 우선순위 증가)으로 해결
➁Round Robin
-우선순위를 두지 않고, 순서대로 시간단위(Time Quantum/Slice)로 CPU를 할당하는 방식
-할당 시간이 크면 FCFS와 같게 되고, 작으면 Context Switching이 잦아져서 오버헤드가
증가한다.
➂Multilevel Queue(다단계 큐)
-항상 가장 높은 우선순위 큐의 프로세스에 CPU를 할당
-우선순위 낮은 큐에서 작성 실행 중이어도 상위 단계의 큐에 프로세스가 도착하면 CPU
할당을 뺏는다.
-각 큐는 Round Robin이나 FCFS등 독자적 스케줄링 사용 가능
-큐 간의 이동이 불가능하다.
➃Multilevel Feedback Queue(다단계 피드백 큐)
-다단계 큐에 동적인 프로세스 우선순위를 적용한 스케줄링 기법
-큐 간의 이동이 가능하다(Aging 기법).
-자신의 시간 할당량을 다 채운 프로세스는 밑으로 내려가고 다 채우지 못한 프로세스는 원래
큐에 재삽입
-단계가 내려갈수록 시간 할당량이 증가한다.
-짧은 작업에 유리하다. 입출력 위주 작업에 우선권을 준다.
-처리 시간이 짧은 프로세스를 먼저 처리하기 때문에 Turnaround 평균 시간을 줄여준다.
∙CPU 스케줄링 척도
∘Response Time
-작업이 처음 실행되기까지 걸린 시간
∘Turnaround Time
-작업이 완료될 때 까지 걸린 시간. 실행 시간과 대기 시간을 모두 합한 시간.출처
'Computer Science > Operating System' 카테고리의 다른 글
9.경쟁 상태(Race Condition) (0) 2021.08.23 8.데드락(Dead Lock) (0) 2021.08.22 6.IPC(Inter Process Communication) (0) 2021.08.20 5.PCB(Process Control Block), Context Switcing (0) 2021.08.19 4.시스템 콜(System Call) (0) 2021.08.18