문서 읽는 데 40분 · 34강 · 4과목 · 프로그래밍 언어 활용

CPU 스케줄링

목차 19
전체 59강 중 34강 · 4과목 · 프로그래밍 언어 활용

준비 큐에 줄 선 프로세스 중 누구를 다음 실행으로 올릴지 결정하는 단기 스케줄러의 정책 — 알고리즘 8종(비선점 4·선점 4)과 평균 대기/반환 시간 계산을 한 번에 잡는다. 매 회차 2~3문항이 굳어 나오고, 그중 평균 대기/반환 시간 계산 1문항은 빠지지 않는 4과목의 중심 영역이다. 33강 준비 큐·Dispatch·Timeout 전이가 여기서 알고리즘으로 살아 움직인다.

핵심 암기 + 공식: 목표 5종 이처대반응(이용률↑·처리량↑·대기↓·반환↓·응답↓) · 시간 용어 5종 도실완반대(도착·실행·완료·반환·대기) · 핵심 2공식 반환=완료−도착 / 대기=반환−실행 · HRN=(대기+서비스)÷서비스(클수록 먼저)


스케줄링 기초

CPU 스케줄링 정의와 스케줄러 3종 ·스케줄링 개요·

[정의] CPU 스케줄링(CPU Scheduling) = 준비 큐(Ready Queue)의 여러 프로세스 중 다음에 CPU를 사용할 프로세스를 선택하는 OS의 의사결정. 이 선택을 담당하는 것이 단기 스케줄러이고, 그 결정 정책이 오늘의 알고리즘 8종이다.

[흐름] 단기 스케줄러가 '누구'를 정하면 → Dispatch(33강 전이)가 그 프로세스를 실제 CPU로 올린다. 단일 코어는 한 순간 한 프로세스만 실행하므로 매 순간 '누가 먼저?'의 판단이 필요하다.

[분류] 스케줄러 3종 — 호출 빈도와 결정 대상으로 갈린다.

스케줄러 호출 빈도 결정 대상 한 줄
장기(Long-term) 낮음(초·분) 작업 → 준비 큐 진입 메모리 적재 결정
중기(Medium-term) 중간 Swap In/Out 메모리 부족 시 디스크 이동
단기(Short-term) 매우 높음(ms) 준비 큐 → 실행 34강 알고리즘 8종

🔑 암기 장기=메모리 적재 / 중기=Swap / 단기=CPU 할당. 8종 알고리즘은 전부 단기 스케줄러의 정책. ⚠️ 함정 보기에서 장기·중기 스케줄러가 'CPU 할당 결정' 자리에 들어가 있으면 오답. CPU 할당은 단기 전속. 🎯 빈출 스케줄러 3종 결정 대상 매칭. 간헐.

스케줄링 목표 5종 — 이처대반응 ·스케줄링 목표·

[분류] CPU 스케줄링이 추구하는 5대 목표. 방향(↑/↓)이 함께 묶여 외워야 한다.

두문자 목표 방향 한 줄
이용률(CPU Utilization) CPU가 일하는 시간 비율
처리량(Throughput) 단위 시간당 완료 프로세스 수
대기 시간(Waiting) 준비 큐에서 기다린 시간
반환 시간(Turnaround) 도착~완료 총 시간
응답 시간(Response) 요청 후 첫 응답까지 시간

🔑 암기 이처대반응 — 위 둘(이용률·처리량)은 ↑, 아래 셋(대기·반환·응답)은 ↓. ⚠️ 함정 방향 뒤집기가 매년 1순위 — "CPU 이용률 최소화"·"처리량 최소화"·"대기 시간 최대화"는 전부 함정(방향 반대). 처리량(완료 개수·↑)과 응답 시간(첫 응답까지·↓)을 바꿔치기하는 함정도 단골. 🎯 빈출 "목표가 아닌 것" 소거형 — 방향이 뒤집힌 보기 골라내기. 보통. 💡 보충 반환 시간 vs 응답 시간 — 반환=도착~완료까지 전체, 응답=요청 후 첫 반응까지. 둘 다 ↓ 목표지만 측정 구간이 다르다.

시간 용어 5종 + 핵심 2공식 — 도실완반대 ·계산의 입력·시험 1순위·

[분류] 모든 계산 문제의 입력 단어가 그대로 두문자에 들어 있다. 측정 3축(주어지거나 간트로 읽음) + 계산 2축(공식으로 구함).

두문자 용어 분류 한 줄
도착 시간(Arrival) 측정 준비 큐에 들어온 시간
실행 시간(Burst/Service) 측정 CPU를 실제로 쓰는 시간
완료 시간(Completion) 측정 실행이 끝난 시간(간트에서 읽음)
반환 시간(Turnaround) 계산 도착~완료 총 소요
대기 시간(Waiting) 계산 준비 큐에서 CPU 기다린 시간

[흐름] 핵심 2공식 — 매 회차 계산 1문항의 정답 키.

텍스트
 반환 시간 = 완료 시간 − 도착 시간
 대기 시간 = 반환 시간 − 실행 시간

검증 예: P1(도착0·실행5·완료5) → 반환=5−0=5, 대기=5−5=0(바로 실행). P2(도착1·실행3·완료8) → 반환=8−1=7, 대기=7−3=4(P1 끝까지 4 기다림).

🔑 암기 도실완반대 — 도실완=측정 3축 / 반대=계산 2축. 반환=완료−도착 / 대기=반환−실행. ⚠️ 함정 "대기=완료−도착"❌(→그건 반환). "반환=도착−완료"❌(→부호 반대, 완료−도착). 측정/계산 분류 바꿔치기. 🎯 빈출 도착·실행이 주어지면 반환·대기를 두 공식으로 계산. 매 회차 계산 문제의 토대.


알고리즘 8종 — 비선점 4 · 선점 4

비선점 vs 선점 + 호위·기아·Aging 3쌍 ·알고리즘 분류·34강 관통·

[비교] 8종은 CPU를 강제로 뺏을 수 있는가로 갈린다 — 이 분별이 시험 1순위.

항목 비선점(Non-preemptive) 선점(Preemptive)
핵심 동작 뺏을 수 없음·자발 반납 강제 회수 가능
응답성 ↓ 낮음 ↑ 높음
오버헤드 ↓ 낮음 ↑ 높음(문맥 교환 잦음)
대표 FCFS·SJF·HRN·우선순위(비) RR·SRT·우선순위(선)·MLQ/MLFQ

[분류] 호위·기아·Aging — 34강 전체를 관통하는 3쌍. 부작용 2 + 해결책 1.

개념 정체 발생 알고리즘 한 줄
호위(Convoy) 부작용 FCFS 긴 작업 뒤 짧은 작업이 길게 대기(완료는 함)
기아(Starvation) 부작용 SJF·SRT·우선순위 우선 못 받는 작업이 무한 대기(완료 불가)
Aging(에이징) 해결책 우선순위·MLFQ 대기 길수록 우선순위 자동 ↑·기아 방지

🔑 암기 비선점=못 뺏음·호위·오버헤드↓ / 선점=강제 회수·응답성↑·오버헤드↑. 호위=FCFS / 기아=SJF·우선순위 / Aging=방지. ⚠️ 함정 호위 vs 기아 — 호위는 결국 완료(길게 기다려도 끝남), 기아는 완료 불가(영원히 못 받음). "Aging=부작용"❌(→해결책). 비선점에선 Timeout 전이가 없다(Timeout은 선점·RR 전속). 🎯 빈출 비선점/선점 분류·3쌍 매칭. 매 회차 1순위. 💡 보충 비선점=식당 선착순 줄서기 / 선점=응급실, 더 급한 환자 즉시 우선.

FCFS — 도착 순서 그대로 ·비선점 ①·

[정의] FCFS(First Come First Served) = 준비 큐에 도착한 순서 그대로 CPU 할당. 가장 단순한 알고리즘.

구분 내용
분류 비선점
장점 단순·공정(도착 순서 보장)
단점 호위 효과 — 긴 작업 뒤 짧은 작업이 오래 대기 → 평균 대기 폭증
자료 구조 FIFO 큐

🔑 암기 FCFS = 비선점 + 도착 순서 + 호위 효과 + FIFO. ⚠️ 함정 "FCFS=평균 대기 최소"❌(→그건 SJF). 호위 효과를 SJF 단점으로 바꿔치기하는 함정. 🎯 빈출 결정 단서 '도착 순서·선입선출·호위'면 즉답 FCFS. 보통. 💡 보충 마트에서 카트 가득 채운 한 명 뒤에 음료 한 병 든 사람도 길게 기다리는 모습이 호위 효과.

SJF — 짧은 작업 먼저 ·비선점 ②·

[정의] SJF(Shortest Job First) = 준비 큐 중 실행 시간이 가장 짧은 프로세스에 CPU 할당. FCFS 호위 효과를 풀려고 등장했다.

구분 내용
분류 비선점 (선점 버전은 SRT)
장점 평균 대기 시간 이론적 최소(최적) — 수학적으로 증명됨
단점 기아 — 긴 작업이 무한 대기 가능
요구 조건 실행 시간을 사전에 알아야 함

🔑 암기 SJF = 비선점 + 짧은 작업 + 평균 대기 최소 + 기아. ⚠️ 함정 "SJF=선점"❌(→비선점, 선점 버전은 SRT). "SJF=호위 효과"❌(→호위는 FCFS). 🎯 빈출 "평균 대기 최소 알고리즘"·SJF/SRT 선점 분별. 매 회차. 💡 보충 빠른 계산대에서 짧은 손님 먼저 — 평균 대기는 줄지만, 짧은 손님이 끝없이 오면 카트 가득한 손님은 차례가 안 온다(기아).

HRN — SJF 기아를 공식으로 보완 ·비선점 ③·시험 1순위·

[정의] HRN(Highest Response Ratio Next) = 응답률(우선순위 값)이 가장 높은 프로세스에 CPU 할당. SJF의 기아를 공식 하나로 보완한다.

텍스트
 우선순위(응답률) = (대기 시간 + 서비스 시간) ÷ 서비스 시간
                   값이 클수록 먼저

[흐름] 한 공식에 두 효과 — 분모(서비스)가 작을수록 값↑(짧은 작업 우대=SJF 효과), 분자의 대기가 커질수록 값↑(오래 기다림 우대=Aging 효과). 효율 + 공정성 동시.

계산 예:

프로세스 (대기+서비스)/서비스
P1 (9+4)/4 3.25
P2 (8+2)/2 5.00 ← 최대
P3 (5+5)/5 2.00

→ 순서 P2 → P1 → P3 (값 클수록 먼저)

🔑 암기 HRN = (대기+서비스)÷서비스 · 값 클수록 먼저 · SJF 기아 보완. ⚠️ 함정 분자분모 자리 바꾸기가 매년 1순위 — "(서비스+대기)/대기"❌·"서비스/(대기+서비스)"❌. 분모는 항상 서비스. "값 작을수록 먼저"❌(→클수록). 🎯 빈출 공식 계산(가장 먼저 실행될 프로세스). 매 회차. 💡 보충 분자(대기+서비스)가 같으면 분모(서비스)가 작은 쪽이 값이 커서 먼저.

우선순위 스케줄링 — 비선점·선점 + Aging ·비선점 ④ / 선점 ③·

[정의] 우선순위가 가장 높은 프로세스에 CPU 할당. 비선점·선점 두 버전이 모두 존재한다.

항목 비선점 우선순위 선점 우선순위
동작 일단 받으면 완료까지 더 높은 우선순위 도착 시 강제 회수
단점 기아(낮은 우선순위 무한 대기) 기아(더 심함)
해결 Aging Aging

[분류] 우선순위 결정 방식 — 정적(생성 시 고정·변경 없음) vs 동적(실행 중 자동 조정·Aging·HRN 공식).

[흐름] Aging = 대기 시간이 길어질수록 우선순위를 점진 자동 상승시키는 기아 방지 기법.

텍스트
 T=0    P5 우선순위 5 (낮음)
 T=10   P5  6
 T=20   P5  7
 T=30   P5  8
 T=40   P5  9  CPU 획득

🔑 암기 우선순위 = 비선점·선점 두 버전 / 정적·동적 / 기아 → Aging. Aging = 대기 길수록 우선순위 자동↑·기아 방지. ⚠️ 함정 "Aging=부작용"❌(→해결책). "Aging=우선순위 자동 하락"❌(→상승). HRN의 동적 우선순위도 같은 원리(공식이 매번 갱신). 🎯 빈출 Aging 정의(상승/하락 방향)·기아 방지 기법 매칭. 매 회차.

RR — Time Quantum 시분할 ·선점 ①·시험 1순위·

[정의] RR(Round Robin) = 각 프로세스에 Time Quantum(시간 할당량)만큼만 CPU 할당, 소진 시 강제 회수(Timeout). 시분할(Time Sharing)의 대표.

구분 내용
분류 선점 — Timeout(할당량 소진) 발동
장점 시분할·응답성↑·공정성↑·기아 없음
단점 Time Quantum 크기에 따라 효율 변동·문맥 교환 오버헤드
자료 구조 원형 큐(Circular Queue)

[흐름] 한 주기 — A를 CPU로 올림(Dispatch) → Quantum 동안 실행 → 소진 시 Timeout → 문맥 교환(상태를 PCB에 저장) → A를 준비 큐 맨 뒤로 → 큐 맨 앞 B Dispatch → 반복.

[비교] Time Quantum 트레이드오프 — 양 끝 모두 단점, 중간이 정답.

Quantum 크기 효과 결과
너무 크면 한 번에 끝까지 실행 FCFS화·응답성↓
너무 작으면 응답성↑ 문맥 교환 폭증·오버헤드↑
적절(보통 10~100ms) 응답성 + 효율 균형 정답

🔑 암기 RR = 선점 + Time Quantum + 시분할 + Timeout 전이 + 원형 큐 + 기아 없음. ⚠️ 함정 "Quantum 작을수록 좋음"❌(→너무 작으면 오버헤드 폭증). "Quantum 무한대=응답성↑"❌(→FCFS화·응답성↓). 🎯 빈출 Time Quantum 크기의 영향(방향 뒤집기). 매 회차. 💡 보충 노래방 — 1인당 30분=Quantum 너무 큼, 5초=마이크 돌리는 시간이 노래보다 김(오버헤드), 한 곡=적절.

SRT — SJF의 선점 버전 ·선점 ②·

[정의] SRT(Shortest Remaining Time) = 매 순간 잔여 실행 시간이 가장 짧은 프로세스에 CPU 할당. SJF를 선점형으로 만든 것.

항목 SJF SRT
분류 비선점 선점
기준 도착 시 실행 시간 매 순간 잔여 시간
새 프로세스 도착 시 무시(현재 작업 계속) 잔여 비교·더 짧으면 강제 회수
기아 ✅(더 심함)

🔑 암기 SRT = SJF 선점 버전 · 트리거: 새 도착 시 잔여 비교 · 기아 가능. ⚠️ 함정 RR과 트리거 혼동 — RR은 Quantum 소진(Timeout)으로 선점, SRT는 새 프로세스 도착으로 선점. 🎯 빈출 SJF vs SRT 분별('선점' 단어가 키). 보통. 💡 보충 응급실에서 진료 중 더 위급한 환자 도착 시 즉시 교체 — 새 도착이 트리거.

MLQ vs MLFQ — 큐 간 이동 여부 ·선점 ④·

[비교] 둘 다 여러 개의 큐를 둔다. 큐 간 프로세스 이동이 되는가가 분별 키.

항목 MLQ(다단계 큐) MLFQ(다단계 피드백 큐)
큐 개수 여러 개 여러 개
큐 간 이동 ❌ 불가 ✅ 가능(승급/강등)
Aging 효과 ✅(승급으로 내장)
적응성 고정 적응형
기아 발생 가능 방지됨

🔑 암기 MLQ=분리만 / MLFQ=분리+이동(Feedback)·Aging 내장. F=Feedback=큐 간 이동. ⚠️ 함정 "MLFQ는 큐 1개"❌(→여러 개). "둘 다 비선점"❌(→둘 다 선점). "MLFQ는 Quantum 사용 안 함"❌(→큐별 Quantum 사용). 🎯 빈출 MLQ/MLFQ 핵심 차이(이동 가능 여부). 간헐~보통.

알고리즘 8종 종합 매트릭스 ·종합·시험 직전 회수·

[표] 선점/비선점 → 기준 → 단점 → 보완 — 네 칸을 한 줄로.

# 알고리즘 분류 기준 단점 보완
FCFS 비선점 도착 순서 호위 SJF
SJF 비선점 짧은 실행 시간 기아 HRN·Aging
HRN 비선점 (대기+서비스)/서비스 예측 필요 MLFQ
우선순위(비) 비선점 우선순위 값 기아 Aging
RR 선점 Time Quantum 균등 오버헤드 적절 Quantum
SRT 선점 잔여 시간 기아 Aging
우선순위(선) 선점 우선순위(강제) 기아 Aging
MLQ/MLFQ 선점 다단계 큐 MLQ 기아 MLFQ 승급

[분류] 목표별 최적 알고리즘

목표 최적
응답 시간↓ RR
평균 대기↓ SJF(비선점)·SRT(선점)
공정성↑ RR·FCFS
실시간성↑ 우선순위(선점)·MLFQ

🔑 암기 비선점 4 = FCFS·SJF·HRN·우선순위 / 선점 4 = RR·SRT·우선순위·MLQ/MLFQ. ⚠️ 함정 HRN을 선점으로 분류하는 함정 단골('H=Highest'라 선점처럼 보이나 비선점). 우선순위·MLQ/MLFQ는 비선점/선점 양쪽 보기로 흔들기. 🎯 빈출 8종 분류·단점 매칭·목표별 최적. 매 회차 1순위.


평균 대기·반환 시간 계산

계산 4단계 절차 + FCFS 계산 ·계산·매 회차 고정·

[흐름] 모든 계산 문제는 같은 4단계 — 알고리즘만 바뀌고 절차는 동일.

단계 작업
① 순서 결정 알고리즘 규칙으로 실행 순서 정함
② 간트 차트 시간 축에 누가 언제 실행되는지 그림
③ 공식 적용 반환=완료−도착 / 대기=반환−실행
④ 평균 계산 대기(또는 반환) 합 ÷ 프로세스 수

[표] FCFS 예 — 입력: P1(도착0·실행10) P2(도착1·실행5) P3(도착2·실행3). 순서 P1→P2→P3.

텍스트
 시간:  0          10      15    18
 구간:  |    P1    |  P2  | P3 |
프로세스 도착 실행 완료 반환=완료−도착 대기=반환−실행
P1 0 10 10 10 0
P2 1 5 15 14 9
P3 2 3 18 16 13

평균 대기 = (0+9+13)/3 = 22/3 ≈ 7.33 · 평균 반환 = (10+14+16)/3 = 40/3 ≈ 13.33

P3는 실행 3으로 짧지만 P1·P2 뒤에서 13 기다림 — 호위 효과.

🔑 암기 도착·실행 표 → 간트 → 반환·대기 표 → 평균. 도착이 0이 아니면 완료를 간트에서 정확히 읽어 반환=완료−도착. ⚠️ 함정 머리로만 계산하면 분기점에서 실수 — 간트를 그려 완료 시간을 눈으로 확정. 🎯 빈출 FCFS 평균 대기/반환. 매 회차. 💡 보충 모두 동시 도착(도착 0)이면 대기 = 앞 프로세스 실행 시간의 누적 합 — 간트 없이도 즉답.

SJF·RR 계산 + 3세트 비교 ·계산·

[표] SJF(비선점) — 같은 입력 P1(0·10) P2(1·5) P3(2·3). t=10에 P1 완료 후 큐의 P2(5)·P3(3) 중 짧은 P3 먼저 → 순서 P1→P3→P2.

텍스트
 시간:  0          10    13      18
 구간:  |    P1    | P3 |  P2  |
프로세스 도착 실행 완료 반환 대기
P1 0 10 10 10 0
P3 2 3 13 11 8
P2 1 5 18 17 12

평균 대기 = (0+8+12)/3 = 20/3 ≈ 6.67 (FCFS 7.33보다 작음 — SJF 평균 대기 최소 확인)

[표] RR(Time Quantum=2) — 입력 P1(5)·P2(3)·P3(1), 모두 t=0 도착.

텍스트
 순서: P1(0-2) P2(2-4) P3(4-5) P1(5-7) P2(7-8) P1(8-9)
 시간:  0  2  4 5  7 8 9
 구간:  |P1|P2|P3|P1|P2|P1|
프로세스 도착 실행 완료 반환 대기
P1 0 5 9 9 4
P2 0 3 8 8 5
P3 0 1 5 5 4

평균 대기 = (4+5+4)/3 = 13/3 ≈ 4.33

[비교] 같은 입력, 다른 알고리즘, 다른 결과 — 절차(4단계)는 동일.

알고리즘 평균 대기 응답 시간 공정성 단점
FCFS 7.33 낮음 도착순↑ 호위
SJF 최소(6.67) 낮음 짧은 거↑ 기아
RR 중간(4.33) 최소 균등 문맥 교환

🔑 암기 SJF는 큐에 모인 것 중 짧은 것을 고름(도착 시각 주의) · RR은 Quantum 소진마다 맨 뒤로 + 완료 시각으로 반환 계산. ⚠️ 함정 RR에서 완료 시각을 간트 끝이 아니라 마지막 실행 구간 끝으로 읽어야(P3는 t=5 완료, 전체 끝 9 아님). SJF는 선점 안 함 — 도착해도 현재 작업 끝까지. 🎯 빈출 SJF·RR 평균 대기/반환. 매 회차 고정.


기출 다지기

[기출 1 출제] 다음 중 선점(Preemptive) 스케줄링에 해당하는 알고리즘을 모두 고른 것은? (모두 고르기)

  • ① FCFS, SJF
  • ② SJF, RR
  • ③ RR, SRT
  • ④ RR, SRT, HRN
정답 및 해설 보기

정답 ③

선점 = CPU 강제 회수 가능 → RR(Time Quantum)·SRT(잔여 비교)·우선순위(선)·MLQ/MLFQ. 비선점 = 자발 반납 → FCFS·SJF·HRN·우선순위(비).

선지 판정 근거
오답 FCFS·SJF 둘 다 비선점
오답 SJF=비선점·RR=선점 섞임
정답 RR·SRT 둘 다 선점
오답 HRN은 비선점 — 'H=Highest'라 선점처럼 보이는 함정

🔑 비선점=FCFS·SJF·HRN·우선순위(비) / 선점=RR·SRT·우선순위(선)·MLQ/MLFQ. HRN 함정 차단.

[기출 2 출제] 다음 중 CPU 스케줄링의 목표로 옳지 않은 것은? (부정형)

  • ① CPU 이용률을 높인다
  • ② 단위 시간당 처리량을 높인다
  • ③ 평균 대기 시간을 늘린다
  • ④ 응답 시간을 줄인다
정답 및 해설 보기

정답 ③

스케줄링 목표 = 이처대반응(이용률↑·처리량↑·대기↓·반환↓·응답↓). 대기 시간은 줄이는 것이 목표인데 "늘린다"는 방향이 뒤집힌 함정.

선지 방향 판정
① 이용률↑ 옳음
② 처리량↑ 옳음
대기 늘림 ↓가 정답 틀림(정답)
④ 응답↓ 옳음

🔑 이처대반응 — 위 둘(이용률·처리량)↑, 아래 셋(대기·반환·응답)↓. 방향 뒤집기가 매년 함정.

[기출 3 출제] HRN 스케줄링에서 다음 4개 프로세스 중 가장 먼저 실행될 프로세스는? (계산)

프로세스 대기 시간 서비스 시간
P1 5 20
P2 15 10
P3 8 4
P4 14 6
  • ① P1
  • ② P2
  • ③ P3
  • ④ P4
정답 및 해설 보기

정답 ④

HRN 우선순위 = (대기 + 서비스) / 서비스 — 값 클수록 먼저.

프로세스 계산
P1 (5+20)/20 1.25
P2 (15+10)/10 2.50
P3 (8+4)/4 3.00
P4 (14+6)/6 3.33 ← 최대

P4(3.33) > P3(3.00) > P2(2.50) > P1(1.25) → P4가 가장 먼저.

🔑 분자(대기+서비스)·분모(서비스) 종이에 명시하고 4개 값 비교. 분모는 항상 서비스.

[기출 4 출제] FCFS 스케줄링에서 평균 대기 시간은? (모두 t=0 동시 도착, 순서 P1→P2→P3→P4) (계산)

프로세스 실행 시간
P1 6
P2 4
P3 2
P4 8
  • ① 6
  • ② 7
  • ③ 7.5
  • ④ 8
정답 및 해설 보기

정답 ②

FCFS·동시 도착 → 대기 = 앞 프로세스 실행 시간의 누적 합.

프로세스 완료 반환 대기
P1 6 6 0
P2 10 10 6(=P1)
P3 12 12 10(=P1+P2)
P4 20 20 12(=P1+P2+P3)

평균 대기 = (0+6+10+12)/4 = 28/4 = 7.

🔑 FCFS 동시 도착 시 첫 프로세스 대기 0, 다음은 이전 실행 시간 누적 합 — 간트 없이 즉답.

[기출 5 출제] RR 스케줄링에서 Time Quantum 크기의 영향으로 옳은 것은? (옳은 것 고르기)

  • ① Quantum이 너무 작으면 응답성이 떨어진다
  • ② Quantum이 너무 크면 문맥 교환 오버헤드가 증가한다
  • ③ Quantum이 무한대에 가까우면 FCFS와 같아진다
  • ④ Quantum 크기는 평균 대기 시간에 영향을 주지 않는다
정답 및 해설 보기

정답 ③

Quantum이 실행 시간보다 크거나 무한대 → 한 번 받으면 끝까지 실행 → FCFS와 동일.

선지 판정 근거
오답 정반대 — 작으면 응답성↑
오답 정반대 — 크면 오버헤드↓(작을 때 폭증)
정답 무한대 Quantum = FCFS화
오답 영향 있음 — Quantum에 따라 평균 대기 변동

🔑 큼=FCFS화·응답성↓ / 작음=오버헤드↑·응답성↑. 양 끝 모두 단점, 중간이 정답.

[기출 6 출제] Aging(에이징) 기법에 대한 설명으로 옳은 것은? (옳은 것 고르기)

  • ① 짧은 작업이 긴 작업 뒤에서 길게 대기하는 현상
  • ② 짧은 작업이 계속 도착해 긴 작업이 무한 대기하는 현상
  • ③ 대기 시간이 길어질수록 우선순위가 점진적으로 상승하는 기법
  • ④ 대기 시간이 길어질수록 우선순위가 점진적으로 하락하는 기법
정답 및 해설 보기

정답 ③

Aging = 기아 방지 기법 — 대기가 길수록 우선순위 자동 상승.

선지 판정 정체
오답 호위 효과 정의
오답 기아 상태 정의
정답 Aging — 우선순위 자동 상승
오답 방향 반대(상승이 정답)

🔑 '방지 기법'·'우선순위 상승'이면 Aging. 부작용 설명이면 호위(①) 또는 기아(②). 세 개념이 한 문제에 함께 나오는 전형.

[기출 7 출제] MLFQ와 MLQ의 가장 핵심적인 차이는? (옳은 것 고르기)

  • ① MLFQ는 큐가 1개, MLQ는 여러 개이다
  • ② MLFQ는 비선점, MLQ는 선점이다
  • ③ MLFQ는 큐 간 프로세스 이동이 가능하다
  • ④ MLFQ는 Time Quantum을 사용하지 않는다
정답 및 해설 보기

정답 ③

MLFQ = MLQ + Feedback. Feedback = 큐 간 승급/강등 이동.

선지 판정 근거
오답 MLFQ도 큐 여러 개
오답 둘 다 선점
정답 F=Feedback=큐 간 이동 가능
오답 MLFQ도 큐별 Quantum 사용

🔑 MLQ=분리만 / MLFQ=분리+이동(F)·Aging 내장. 한 글자(F)가 본질의 차이.


한 장 요약

주제 암기·핵심 결정 카드
목표 5종 이처대반응 위 둘↑(이용·처리)·아래 셋↓(대기·반환·응답)
시간 5종 도실완반대 도실완=측정 / 반대=계산
핵심 2공식 반환=완료−도착 / 대기=반환−실행 대기≠완료−도착
스케줄러 3종 장기=적재 / 중기=Swap / 단기=CPU CPU 할당=단기 전속
비선점 4종 FCFS·SJF·HRN·우선순위(비) HRN=비선점(함정)
선점 4종 RR·SRT·우선순위(선)·MLQ/MLFQ Timeout=선점 전속
HRN 공식 (대기+서비스)÷서비스 값 클수록 먼저·분모=서비스
3쌍 호위=FCFS / 기아=SJF·우선순위 / Aging=방지 Aging=약(해결책)
알고리즘 분류 시그니처 단점
FCFS 비선점 도착 순서·FIFO 호위
SJF 비선점 짧은 작업·평균 대기 최소 기아
HRN 비선점 (대기+서비스)/서비스 예측 필요
RR 선점 Time Quantum·시분할 오버헤드
SRT 선점 SJF 선점·잔여 시간 기아
MLQ/MLFQ 선점 큐 분리(+이동 F) MLQ 기아
함정 5쌍 정답
'SJF가 호위 효과' 호위=FCFS / 평균 최소=SJF
'(서비스+대기)/대기' (대기+서비스)/서비스·클수록 먼저
'SJF=선점' SJF=비선점 / SRT=선점
'Quantum 작을수록 좋음' 너무 작으면 오버헤드↑
'Aging=부작용' Aging=기아 방지·자동↑

🎯 합격 한 끗: 이처대반응(목표·방향) + 도실완반대(시간·2공식) + 8종(비선점 4/선점 4) + HRN=(대기+서비스)/서비스·클수록 먼저 + 3쌍(호위=FCFS/기아=SJF·우선순위/Aging=방지) + 계산 4단계(순서→간트→공식→평균). 34강 출제 2~3문항은 거의 모두 알고리즘 분류·HRN 공식·Aging 분별·평균 대기/반환 계산 네 영역에서 나온다.

전체 목록 필기 이론

합격까지

정처기, 혼자 막막하다면

초개인화 학습앱 Klue와 에듀윌 온라인강의로 합격까지 이어가세요.