/////
Search
📝

4월29일(월)

ch5_part1(modified) 중간부터 시작

Turnaround / Wait Time

Running단계에 들어가지 않고 Ready단계에 있는 것을 Wait time이라고 합니다 Ready부터 다음 Running단계까지의 시간을 Turnaround Time(Response Time)이라고 합니다 즉, Wait time = Turnaround Time - Running Time

Examples of Exponential Averaging

RR and Time Quantums

요즘은 사용자와 빈번한 상호작용이 프로그램 내에서 발생하기 때문에, RR with short-quantum방식이 좋
Context Switch라는게, 쉬운게 아니라 어렵다 RR방식은 공정성을 위해서 사용하는 스케쥴링 알고리즘

Multilevel Queue

프로세스 타입에 따른 우선수위 결정 스케쥴링 알고리즘
프로세스마다 응답시간 요구사항이 다름 → 스케쥴링 알고리즘이 다를 수 있음
배치 프로세스 : FCFS
포그라운드 : RR

Multilevel Feedback Queue

1.
프로세스가 큐 큐 사이 이동가능
2.
시간을 많이 사용하는 프로세스 → 낮은 순위 큐로 이동
3.
I/O중심 및 대화형 중심 프로세스(짧은 CPU Burst) → 높은 우선순위 큐로 이동
4.
오래 대기한 프로세스(낮은 우선순우 큐에 위치한 프로세스) → 높은 우선순위 큐로 이동(Starvation 방지)

Example of Multilevel Feedback Queue

Thread Scheduling

MultiLevel Feedback Queue(MLFQ)

기존의 SJF, SRTF 등 → BurstTime에 대한 정보가 필요 그러나, 실제로는 미리 알기가 어렵다!
짧은 작업을 먼저 실행시켜서 반환시간을 최적화 가능 응답시간을 최적화
여러 개의 큐를 두고, 큐마다 우선순위를 배정
같은 큐에 있는 프로세스들은 같은 우선순위를 가짐 → RR
작업 특성에 따라 동적 우선순위 부여
어떤 작업이 키보드 입력을 기다리면서 반복적으로 CPU를 양보하면, MLFQ는 해당 작업의 우선수위를 높임 == 대화형 프로세스의 패턴
한 작업이 CPU를 집중적으로 사용하면 → MLFQ는 해당 작업의 우선순위를 낮춤
MLFQ는 해당 작업의 정보를 얻으면서 미래 행동을 예측한다!
작업의 우선순위 변경
작업이 존재할 큐 결정
대화형 작업 VS CPU(프로세서) 위주 작업
규칙
작업 우선순위가 높을 경우, 해당 작업 실행
두 작업의 우선순위가 같으면, RR

Multicore Processors

최근, 다수의 프로세서 코어들은 동일 물리적 칩에 넣는 추세
더 빠르고, 파워소비는 더 적게 가능
코어 당 프로세스 사용률은 증가중