본문 바로가기

Scheduler

(2)
2-5. Virtualization: Multi-Level Feedback Queue 스케줄링(Scheduling)은 CPU를 어떤 프로세스에 할당할지 결정하는 중요한 기술이다.그중에서도 Multi-Level Feedback Queue(MLFQ)는 현대 운영체제에서 널리 사용되는 스케줄링 방식이다. "모두를 만족시키는 스케줄러를 만들 수는 없을까?"라는 물음에서 시작된, MLFQ의 여정을 함께 살펴보자.간단한 스케줄러들, 그리고 그들의 한계 🤔FIFO (First In, First Out)장점: 단순하다!단점: "convoy effect"가 발생.예를 들어, 앞에 있는 작업이 엄청 느리면 뒤의 작업이 전부 대기 상태로 전환된다.→ 결과적으로 CPU와 I/O 자원 이용률이 낮아짐.SJF (Shortest Job First)장점: 평균 대기 시간, 평균 완료 시간이 줄어든다.단점: "작업 ..
2-4. Virtualization: Scheduler(FIFO, SJF, STCF, RR)와 성능 지표 운영체제에서 CPU 사용률(CPU Utilization)을 극대화하려면 멀티프로그래밍이 필수다.그러나, 하나의 CPU 코어는 동시에 하나의 프로세스만 실행할 수 있다.이 때문에 CPU 스케줄링이 필요하다. 스케줄링 알고리즘은 프로세스의 실행을 효율적으로 관리해 시스템 성능을 최적화하고,각종 성능 지표(CPU Utilization, Response Time 등)를 개선하는 데 초점이 맞춰져 있다.CPU 스케줄링과 프로세스 실행 과정CPU-I/O Burst Cycle프로세스 실행은 CPU 실행(CPU Execution)과 I/O 대기(I/O Wait)가 반복되는 사이클로 이루어진다.CPU burst는 일반적으로 짧은 CPU burst가 많은 I/O bound 작업과 긴 CPU burst가 적은 작업으로 구..