정보처리기사

운영체제 심화 – 프로세스 상태 전이, CPU 스케줄링 알고리즘, 교착 상태 이론 정리

news800905 2025. 5. 14. 10:07
728x90

📘 1. 프로세스 상태 전이

상태설명
New 프로세스 생성 중
Ready 준비 큐에서 CPU 할당 대기
Running CPU 점유하여 실행 중
Waiting I/O 완료 대기
Terminated 종료 상태 (자원 회수)
 
  • 프로세스는 여러 상태를 오가며 운영체제의 스케줄링 대상
  • 문맥 교환(Context Switching): 실행 중 프로세스 변경 시 발생

📘 2. CPU 스케줄링 알고리즘

알고리즘특징장단점
FCFS 선입선출(First-Come, First-Served) 공평하나 평균 대기 시간 ↑
SJF 가장 짧은 작업 우선(Shortest Job First) 평균 대기 시간 ↓, 긴 작업 굶주림 가능
RR 시간 할당량 기반(Round Robin) 공정성 ↑, 문맥 교환 ↑
Priority 우선순위 높은 작업 먼저 낮은 우선순위 작업 굶주림 가능
 
  • Preemptive(선점형) vs Non-preemptive(비선점형) 구분 중요

📘 3. 교착 상태 (Deadlock)

조건설명
상호배제 자원은 한 번에 한 프로세스만 사용 가능
점유대기 자원 점유 중 다른 자원 대기
비선점 자원을 강제로 회수 불가
순환대기 프로세스 간 순환적으로 자원 대기
 
  • 4조건 모두 성립 시 발생
  • 예방/회피/탐지/회복 기법 존재

📘 4. 기출 포인트

  • 상태 전이 순서
  • 스케줄링 알고리즘 특징 비교 문제
  • 교착 상태 조건 4가지 암기 필수
  • SJF 평균 대기 시간 계산 문제 자주 출제

📝 기출 예시 문제

다음 중 교착 상태 발생 조건으로 옳지 않은 것은?

① 상호배제
② 점유대기
③ 자원 선점 가능
④ 순환대기

728x90