정보처리기사 기출문제 총정리 ⑬ 운영체제 – 프로세스·스케줄링·메모리·교착상태

운영체제 기초

운영체제(OS)는 하드웨어와 응용 프로그램 사이에서 자원을 관리하는 시스템 소프트웨어입니다. 정보처리기사에서는 프로세스, 스케줄링, 메모리, 교착상태가 핵심 출제 영역입니다.

프로세스 상태 전이

  • New(생성): 프로세스 생성 중
  • Ready(준비): CPU 할당 대기 중
  • Running(실행): CPU에서 실행 중
  • Waiting/Blocked(대기): I/O 또는 이벤트 완료 대기
  • Terminated(종료): 실행 완료

PCB(Process Control Block): 각 프로세스의 상태 정보를 저장하는 커널 자료구조

CPU 스케줄링 알고리즘

선점형 (Preemptive)

  • Round Robin(RR): 타임 퀀텀마다 순환, 시분할 시스템에 적합
  • SRT(Shortest Remaining Time): 남은 시간이 가장 짧은 프로세스 우선
  • 다단계 피드백 큐: 프로세스 실행 이력에 따라 큐 이동

비선점형 (Non-Preemptive)

  • FCFS(First Come First Served): 도착 순서대로 처리, 호위 효과 발생 가능
  • SJF(Shortest Job First): 실행 시간이 짧은 프로세스 우선, 기아 현상 발생 가능
  • 우선순위 스케줄링: 우선순위 높은 프로세스 먼저, 에이징으로 기아 방지

메모리 관리

가상 메모리

물리 메모리보다 큰 주소 공간을 사용할 수 있도록 하는 기법. 페이지 테이블로 가상→물리 주소 변환

페이지 교체 알고리즘

  • OPT(Optimal): 앞으로 가장 오랫동안 사용되지 않을 페이지 교체 (이론적 최적)
  • LRU(Least Recently Used): 가장 오래 사용하지 않은 페이지 교체
  • FIFO: 가장 먼저 들어온 페이지 교체, Belady의 모순 발생 가능
  • LFU: 참조 횟수가 가장 적은 페이지 교체
  • NUR(Not Used Recently): 최근에 사용하지 않은 페이지 교체 (참조비트, 변경비트 사용)

스래싱(Thrashing)

페이지 교체가 지나치게 빈번하여 실제 작업보다 페이지 교체에 더 많은 시간이 소요되는 현상. 워킹셋(Working Set) 기법으로 완화

교착상태 (Deadlock)

4가지 발생 조건 (모두 만족 시 교착상태 가능)

  • 상호 배제(Mutual Exclusion): 자원은 한 번에 한 프로세스만 사용
  • 점유 대기(Hold and Wait): 자원을 점유한 채 다른 자원 대기
  • 비선점(Non-Preemption): 프로세스가 자원을 강제로 뺏길 수 없음
  • 환형 대기(Circular Wait): 프로세스들이 원형으로 서로의 자원 대기

해결 방법

  • 예방(Prevention): 4조건 중 하나 제거 (자원 낭비 심함)
  • 회피(Avoidance): 은행가 알고리즘으로 안전 상태만 허용
  • 탐지(Detection): 교착상태 발생 허용 후 탐지·복구
  • 무시(Ignorance): 교착상태 무시 (일부 OS에서 채택)

시험 핵심 포인트

  • Round Robin은 타임 퀀텀이 클수록 FCFS에 근접
  • Belady의 모순: FIFO에서 프레임 수 증가 시 페이지 폴트 증가하는 이상 현상
  • 교착상태 4조건 영어 약자: ME, HW, NP, CW
  • 은행가 알고리즘: 안전 순서열이 존재하면 안전 상태

마무리

운영체제는 계산 문제(스케줄링 턴어라운드 시간, 페이지 폴트 횟수)가 자주 출제됩니다. 알고리즘별로 간단한 예제를 직접 계산해보며 학습하는 것이 가장 효과적입니다.

Leave a Comment