/////
Search
📝

4월18일(목)

Scheduling

Processes(P1, P2,…..,Pn)을 위해 CPU가 일을 해야하는데, 프로세스들을 어떻게 병렬적으로, 순차적으로 처리할건지 스케쥴을 짜줘야한다. 목표는 CPU가 멈춰있는 시간이 최소화되도록 하는것
→ Scheduling Algorithm의 탄생 및 발전의 이유

장점

프로세서(CPU) 이용률 증가
프로세서(CPU) 처리율 증가
작업 응답시간 최소화

스케쥴링(of CPU)

어느 시점에, 어느 프로세스에 자원을 할당할 것인가를 결정
프로세서 스케쥴링
인터럽트 처리, 오류 처리, 시스템 콜 → 스케쥴링 불필요

목적

1.
골고루 CPU를 쓰게 하겠다
2.
CPU의 활용도를 높이겠다
자원 할당 공정성 보장
단위시간당 처리량 최대화
적절한 응답시간 보장
오버헤드 최소화
실행 대기 방지
우선순위

Preemptive(선점) VS Non-Preemptive(비선점)

Preemptive

우선순위 높은 프로세스가 선점
CPU 활용도 효율적
대기시간 및 응답시간 감소
유연
특정 시간동안 CPU 할당
오버헤드 존재
프로세스가 변경될때, 교체되는 프로세스에 대한 정보들(PCB의 교체라던지)에 의해 필연적인 준비시간이 발생

Non-Preemptive

실행중인 프로세스 종료시까지 대기 필요
CPU 활용도 비효율적
CPU연산이 필요한 경우말고도, I/O burst라던지 다른 연산을 하는 경우도 많은데도 다른 프로세스가 진행되지 못 함
대기시간 및 응답시간 증가
P2는 P1이 끝날때까지 기다려야함
엄격
프로세스 종료or대기 상태 될때까지 프로세스에 CPU 할당
오버헤드 X
스케쥴링을 위한 비용 감소
높은 처리량
간단함

Dispatcher

CPU의 통제를 단기 스케쥴러에 의해 선택된 프로세스에게 넘깁니다(by DIspatcher module)
통제권 전달에는 다음 과정을 포함합니다
Context Switching
UserMode로 Switch
프로그램을 재시작하기 위해 프로그램 안의 적절한 위치로 jumping

Scheduling Criteria

1.
CPU 활용
a.
CPU clock frequency
b.
한번의 사이클 당 여러개의 명령어 VS 한개의 명령어가 여러번의 사이클
2.
처리량
a.
단위시간당 완료된 프로세스 개수
b.
단위시간당 여러개의 프로세스 VS 한 프로세스당 여러개의 단위시간
3.
Turnaround Time
a.
프로세스 제출시간과 완료시간 간격
i.
Queue wait, CPU execution, I/O time
4.
Waiting Time
a.
큐 대기 시간
5.
Response Time
a.
Minimum response time 프로세스 제출 후 첫번째 응답이 나온느 시간 간격
6.
프로세스 속성
a.
어느 것을 먼저 고려할 것인가? : 입출력 위주 VS 연산 위주
b.
입출력 위주 : 기억장치 / 입출력장치와의 데이터 이동에서의 시간소요
7.
시스템 속성
a.
일괄처리(처리량), 대화형(응답시간)
8.
프로세스 활용 목적
a.
응용프로그램의 성격

총 처리 시간 VS 응답시간

시스템 입장에서의 성능

CPU 이용률
처리량

사용자 입장에서의 성능

대기시간
응답시간
총 처리시간

응답시간

프로세스가 도착한 후, 처음으로 실행되는 시간
EX) 2초에 도착하여 6초에 처음 실행이 시작되는 경우 → 응답시간 == 4초

Turnaround / Wait Time

Throughput

FCFS Scheduling

Non-Preemptive Simplest Scheduling Algorithm Context Switching이 필요없는 경우에 가장 적합한 스케쥴링 방식(두 활동 프로그램에게 할당할 메모리가 충분하지 않은 경우)
Convoy Effect란, 긴 프로세스가 짧은 프로세스보다 순위가 높은 경우, 대기시간이 너무 길어지는 효과를 말합니다

FCFS Orders

Best Turnaround Time → CPU 버스트가 가장 짧은 것을 먼저 실행할때
Worst Turnaround Time → CPU 버스트가 가장 긴 것을 먼저 실행할때

Shortest Job First(SJF)

Determining Length of Next CPU Burst

Example of Shortest-Remaining-Time-First

Round Robin(RR)