정보처리기사 · 프로그래밍 언어 활용 과목
정보처리기사 운영체제 개념 정리
중요도 ★★★★★ · 35% (추정)
AI가 새로 쓴 글 가운데, 작성과 분리된 AI 검증(다시 읽고 사실·수치 확인)을 통과한 단원만 싣습니다. 틀린 곳을 발견하면 알려 주세요.
핵심 개념
선점과 비선점 스케줄링
비선점은 한 프로세스가 CPU 를 잡으면 끝날 때까지 쓰는 방식(FCFS, SJF, HRN), 선점은 중간에 다른 프로세스가 CPU 를 빼앗을 수 있는 방식(RR, SRT, 다단계 피드백 큐)입니다.
외우는 요령SJF 는 비선점, 그 선점판이 SRT.
HRN
기다린 시간까지 따져 우선순위를 정하는 비선점 방식입니다. 우선순위 = (대기 시간 + 서비스 시간) ÷ 서비스 시간 이며, 값이 클수록 먼저 실행합니다.
외우는 요령오래 기다린 작업일수록 값이 커져 굶지 않습니다.
교착 상태 4조건
상호 배제, 점유와 대기, 비선점, 환형 대기가 모두 성립하면 교착 상태가 생길 수 있습니다. 하나라도 깨면 막을 수 있습니다.
외우는 요령'혼자 쓰고 – 쥐고 기다리고 – 못 뺏고 – 빙 돌아 기다린다'.
페이지 교체 알고리즘
FIFO 는 가장 먼저 들어온 페이지를, LRU 는 가장 오랫동안 쓰지 않은 페이지를, LFU 는 가장 적게 쓴 페이지를 내보냅니다.
외우는 요령LRU 의 R = Recently(최근), LFU 의 F = Frequently(자주).
자주 나오는 포인트
- HRN 우선순위 계산 문제가 자주 나옵니다.
- 페이지 교체 과정을 표로 그려 페이지 부재 횟수를 세는 문제가 나옵니다.
- 선점·비선점 방식을 고르는 문제가 나옵니다.
대표 문제 3개
검수를 마친 예상문제 가운데 이 단원의 대표 문제입니다.
문제 1. 교착 상태(Deadlock)가 생기기 위한 4가지 필요조건에 해당하지 않는 것은?
- ① 상호 배제
- ② 점유와 대기
- ③ 선점
- ④ 환형 대기
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ③ 선점
핵심: 교착 상태 4조건: 상호 배제, 점유와 대기, 비선점, 환형 대기
네 번째 조건은 비선점(남이 가진 자원을 빼앗을 수 없음)입니다. 자원을 빼앗을 수 있다면(선점) 교착 상태가 풀립니다.
틀린 선지
- ① 상호 배제: 한 자원은 한 번에 한 프로세스만 쓸 수 있다는 조건입니다.
- ② 점유와 대기: 자원을 가진 채로 다른 자원을 기다린다는 조건입니다.
- ④ 환형 대기: 프로세스들이 원 모양으로 서로의 자원을 기다린다는 조건입니다.
문제 2. 프로세스 P1, P2, P3 가 동시에 도착했고 실행 시간이 각각 6, 3, 1 이다. SJF(가장 짧은 작업 먼저) 스케줄링을 쓸 때 평균 대기 시간은?
- ① 약 1.67
- ② 약 3.33
- ③ 5
- ④ 약 6.67
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ① 약 1.67
핵심: SJF: 실행 시간이 짧은 순서대로 실행한다
- 실행 순서: P3(1) → P2(3) → P1(6)
- 대기 시간: P3 = 0, P2 = 1, P1 = 1 + 3 = 4
- 평균 대기 시간 = (0 + 1 + 4) ÷ 3 = 5 ÷ 3 ≈ 1.67
틀린 선지
- ② 약 3.33: 계산이 틀린 값입니다.
- ③ 5: FCFS(도착 순서 P1 → P2 → P3)로 했을 때의 평균 대기 시간((0 + 6 + 9) ÷ 3)입니다.
- ④ 약 6.67: 계산이 틀린 값입니다.
문제 3. 페이지 프레임이 3개이고 처음에는 모두 비어 있다. 페이지 참조 순서가 1, 2, 3, 1, 4 일 때, FIFO 페이지 교체 알고리즘에서 페이지 부재(Page Fault)는 몇 번 일어나는가?
- ① 3번
- ② 2번
- ③ 5번
- ④ 4번
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ④ 4번
핵심: FIFO: 가장 먼저 들어온 페이지를 내보낸다
- 1 참조 → 부재 (프레임: 1)
- 2 참조 → 부재 (1, 2)
- 3 참조 → 부재 (1, 2, 3)
- 1 참조 → 이미 있음
- 4 참조 → 부재, 가장 먼저 들어온 1 을 내보냄 (2, 3, 4)
페이지 부재는 4번입니다.
틀린 선지
- ① 3번: 마지막 4 를 참조할 때의 부재를 빼먹은 값입니다.
- ② 2번: 계산이 틀린 값입니다.
- ③ 5번: 1 을 두 번째로 참조할 때는 이미 프레임에 있어 부재가 아닙니다.