정보처리기사 필기 · 프로그래밍 언어 활용 과목
정보처리기사 운영체제 핵심정리
- 중요도
- ★★★★★ (5 / 5)
- 출제 비중
- 프로그래밍 언어 활용 20문항 중 약 7문항 (35%)
프로세스 스케줄링, 교착 상태, 기억 장치 관리와 페이지 교체 알고리즘을 다룹니다.
운영체제, 이것만은 꼭 외우세요
- 비선점 스케줄링: FCFS, SJF, HRN. 선점 스케줄링: 라운드 로빈(RR), SRT, 다단계 피드백 큐.
- HRN 우선순위 = (대기 시간 + 서비스 시간) ÷ 서비스 시간. 값이 클수록 먼저 실행합니다.
- 교착 상태의 4가지 조건: 상호 배제, 점유와 대기, 비선점, 환형 대기.
- 페이지 교체: FIFO(가장 먼저 들어온 것), LRU(가장 오랫동안 안 쓴 것), LFU(가장 적게 쓴 것).
운영체제 대표 문제 4개
AI 예상문제검수 전프로그래밍 언어 활용 › 운영체제★★★★★
문제 1. 교착 상태(Deadlock)가 생기기 위한 4가지 필요조건에 해당하지 않는 것은?
- ① 상호 배제
- ② 점유와 대기
- ③ 선점
- ④ 환형 대기
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ③ 선점
핵심: 교착 상태 4조건: 상호 배제, 점유와 대기, 비선점, 환형 대기
네 번째 조건은 비선점(남이 가진 자원을 빼앗을 수 없음)입니다. 자원을 빼앗을 수 있다면(선점) 교착 상태가 풀립니다.
틀린 선지
- ① 상호 배제: 한 자원은 한 번에 한 프로세스만 쓸 수 있다는 조건입니다.
- ② 점유와 대기: 자원을 가진 채로 다른 자원을 기다린다는 조건입니다.
- ④ 환형 대기: 프로세스들이 원 모양으로 서로의 자원을 기다린다는 조건입니다.
AI 예상문제검수 전프로그래밍 언어 활용 › 운영체제★★★★★
문제 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: 계산이 틀린 값입니다.
AI 예상문제검수 전프로그래밍 언어 활용 › 운영체제★★★★★
문제 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 을 두 번째로 참조할 때는 이미 프레임에 있어 부재가 아닙니다.
AI 예상문제검수 전프로그래밍 언어 활용 › 운영체제★★★★★
문제 4. HRN 스케줄링에서 작업 A(대기 시간 10, 서비스 시간 5), B(대기 시간 6, 서비스 시간 2), C(대기 시간 12, 서비스 시간 12) 가운데 가장 먼저 실행되는 작업은?
- ① A
- ② B
- ③ C
- ④ 세 작업의 우선순위가 같다
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ② B
핵심: HRN 우선순위 = (대기 시간 + 서비스 시간) ÷ 서비스 시간
- A = (10 + 5) ÷ 5 = 3
- B = (6 + 2) ÷ 2 = 4
- C = (12 + 12) ÷ 12 = 2
값이 가장 큰 B 가 먼저 실행됩니다.
틀린 선지
- ① A: 우선순위 값이 3 으로 두 번째입니다.
- ③ C: 우선순위 값이 2 로 가장 낮습니다.
- ④ 세 작업의 우선순위가 같다: 값이 서로 다릅니다.
직접 풀어서 확인해 보세요.