운영체제 질문 18개를 5개 개념으로 정리하기
FIFO, LRU, LFU를 외웠는데 계산이 막히고, 스레드·스케줄링·리눅스 명령어가 한꺼번에 섞일 때 보는 정리입니다. 먼저 비유로 감을 잡고, 바로 시험에서 쓰는 기준으로 연결합니다.
범위: 페이지 교체 · 메모리 관리 · 스레드 · CPU 스케줄링 · Linux/Unix 명령어
이 글을 읽기 전에
핵심 개념 이해하기
1. 페이지 교체: FIFO · LRU · LFU
줄 서기처럼 먼저 메모리에 들어온 페이지가 먼저 나갑니다. 최근에 다시 사용했는지는 따지지 않습니다.
마지막으로 사용한 시점을 봅니다. 그래서 Hit가 나도 그 페이지는 “방금 사용함”으로 순서를 갱신해야 합니다.
마지막 사용 시점이 아니라 누적 사용 횟수를 봅니다. 횟수가 같으면 문제에서 준 동점 규칙을 따르고, 규칙이 없으면 보통 FIFO 같은 보조 규칙을 명시해야 합니다.
2. 메모리 관리: 페이지 부재 · 워킹 세트 · PFF
페이지 부재(Page Fault)는 필요한 페이지가 메모리에 없어 저장장치에서 다시 가져와야 하는 상황입니다. Hit는 이미 메모리에 있어 바로 사용할 수 있는 상황입니다.
최근 일정 시간 동안 자주 쓴 페이지의 묶음입니다. “지금 책상 위에 꼭 필요한 책 세트”라고 생각하면 됩니다.
부재가 너무 자주 나면 프레임을 늘리고, 너무 적게 나면 남는 프레임을 회수하는 조절 방식입니다.
3. 스레드와 CPU 스케줄링
사용자 수준 스레드가 하나 막히면 모두 멈춘다는 설명은 다대일(Many-to-One) 모델에서의 이야기입니다. 커널이 여러 사용자 스레드를 하나의 커널 스레드로만 보기 때문에, 그 통로가 I/O 등으로 블록되면 다른 사용자 스레드도 실행할 수 없습니다.
CPU 스케줄링은 “CPU라는 한 자리”를 누구에게 줄지 정합니다. 선점형은 더 급한 작업이 오면 현재 작업에서 CPU를 빼앗을 수 있고, 대표적으로 RR·SRT·다단계 큐·다단계 피드백 큐가 있습니다.
4. Linux/Unix 명령어
명령어는 기능의 범위를 기준으로 구분하면 덜 헷갈립니다. df는 파일 시스템 전체의 여유 공간, du는 특정 파일·디렉터리의 사용량, uname -r은 커널의 릴리즈 버전을 확인합니다.
5. 페이지 크기가 작아지면
페이지가 작아지면 한 페이지의 남는 공간이 줄어 내부 단편화는 감소합니다. 대신 같은 프로그램을 더 많은 페이지로 나누므로 페이지 테이블은 커집니다. 시험에서는 “작은 페이지 → 내부 단편화 감소, 페이지 테이블 증가”를 가장 먼저 잡으면 됩니다.
예제로 단계별 따라가기
예제 1. FIFO 페이지 교체: 페이지 부재는 왜 6회일까?
프레임이 3개이고 참조열이 1, 2, 1, 0, 4, 1, 3일 때입니다. 빈 프레임도 “메모리에 없어서 가져온 것”이므로 페이지 부재로 셉니다.
| 참조 | 프레임 상태 | 판정 | 누적 부재 |
|---|---|---|---|
| 1 | [1] | Miss | 1 |
| 2 | [1, 2] | Miss | 2 |
| 1 | [1, 2] | Hit | 2 |
| 0 | [1, 2, 0] | Miss | 3 |
| 4 | [4, 2, 0] · 1 교체 | Miss | 4 |
| 1 | [4, 1, 0] · 2 교체 | Miss | 5 |
| 3 | [4, 1, 3] · 0 교체 | Miss | 6 |
예제 2. LRU: 페이지 부재가 5회인 이유
프레임 3개, 참조열 7, 0, 1, 2, 0, 3을 보겠습니다. 5번째 참조인 0은 이미 프레임에 있으므로 Hit입니다. 다만 LRU에서는 0을 가장 최근 사용 페이지로 옮겨야 합니다.
| 순서 | 참조 | 최근 사용 순서 (오래됨 → 최신) | 결과 |
|---|---|---|---|
| 1 | 7 | 7 | Miss 1 |
| 2 | 0 | 7, 0 | Miss 2 |
| 3 | 1 | 7, 0, 1 | Miss 3 |
| 4 | 2 | 0, 1, 2 · 7 교체 | Miss 4 |
| 5 | 0 | 1, 2, 0 · 순서만 갱신 | Hit |
| 6 | 3 | 2, 0, 3 · 1 교체 | Miss 5 |
예제 3. FCFS(FIFO) 스케줄링: 평균 대기 시간
프로세스가 P1(도착 0, 실행 3), P2(도착 1, 실행 2), P3(도착 2, 실행 1) 순서로 도착하면 처리 순서는 P1 → P2 → P3입니다.
도착하자마자 시작하므로 0입니다.
P1이 3에 끝난 뒤 시작하므로 3 - 1 = 2입니다.
P1과 P2가 끝나는 5에 시작하므로 5 - 2 = 3입니다. 평균은 (0 + 2 + 3) / 3 = 1.67입니다.
시험에 적용하고 바로 복습하기
기출형 재구성 예제
한 번 배정된 큐에서 다른 큐로 이동하지 않습니다. 낮은 우선순위 큐가 오래 굶을 수 있습니다.
프로세스가 실행 성격과 대기 시간에 따라 큐를 오갈 수 있습니다. 에이징으로 기아 현상을 줄일 수 있습니다.
시험 직전 암기 카드
들어온 순서 vs 마지막 사용 순서
필요한 페이지가 메모리에 없음
전체 파일 시스템 여유 공간 vs 특정 경로 사용량
커널 릴리즈 버전
내부 단편화 감소 · 페이지 테이블 증가
미니 퀴즈
du -h는 어떤 정보를 사람이 읽기 쉬운 단위로 보여줄까요?정답과 해설 확인하기
Q1. 네. LRU의 기준이 “최근 사용 시점”이기 때문입니다.
Q2. 아닙니다. 대표적으로 다대일 모델에서 발생하는 한계입니다.
Q3. 특정 파일 또는 디렉터리의 디스크 사용량입니다.
Q4. 먼저 온 작업이 거의 끝날 때까지 실행되므로 FCFS/FIFO와 비슷해집니다.
오늘의 회고와 다음 단계
오늘은 “무엇을 교체하는가”, “무엇을 기준으로 순서를 바꾸는가”, “CPU를 누구에게 주는가”를 분리해 보았습니다. 이 세 질문만 분명해도 운영체제 문제의 절반은 정리됩니다.
다음에는 참조열을 직접 적어 FIFO·LRU·LFU를 같은 표에 나란히 풀어 보세요. 알고리즘 이름을 외우는 것보다 프레임 상태를 한 칸씩 쓰는 연습이 훨씬 오래 남습니다.
'AI > 정보처리기사_스터디' 카테고리의 다른 글
| 5일차_정보처리기사 필기 C언어 오답노트: 시험장에서 틀리기 쉬운 8가지 함정 (0) | 2026.07.17 |
|---|---|
| 정처기 4일차 수제비: 기본문법 활용 기출 4유형 풀이법 (0) | 2026.07.16 |
| 정처기 3일차 수제비: 명령문·사용자 정의 함수·구조체·클래스 총정리 (0) | 2026.07.14 |
| 정보처리기사_수제비_2일차 (0) | 2026.07.14 |