[시나공] 프로세스 · PCB · 스레드 · CPU 스케줄링 정리 (FCFS / SJF / HRN / RR / SRT)

2026. 3. 29. 18:33Certifications/정보처리기사 실기

1️⃣ 프로세스(Process)

✅ 개념

  • 일반적으로 프로세서에 의해 처리되는 실행 중인 프로그램을 의미
  • 즉, 메모리에 올라와 실행되고 있는 프로그램

✅ 특징

  • 실행 중인 프로그램
  • 운영체제가 관리하는 실행 단위
  • 비동기적 행위를 일으키는 주체
  • CPU가 할당되는 작업 단위

2️⃣ PCB(Process Control Block)

✅ 개념

  • 운영체제가 프로세스에 대한 중요한 정보를 저장하는 자료구조
  • 프로세스 관리 정보 저장 영역

✅ PCB에 저장되는 정보

  • 프로세스 상태 정보
  • 프로세스 식별자(PID)
  • 프로그램 카운터(포인터)
  • CPU 레지스터 정보
  • 주기억장치 관리 정보
  • 입출력 상태 정보
  • 계정 정보

🎯 포인트

  • PCB = 프로세스 관리 정보 저장 구조
  • PID / 레지스터 / 메모리 / I/O 정보 저장

3️⃣ 프로세스 상태 전이(Process State Transition)

✅ 개념

  • 프로세스가 시스템에서 실행되는 동안 상태가 변화하는 것

✅ 주요 상태

상태 설명
제출 (Submit) 작업이 시스템에 제출된 상태
접수 (Hold) 작업이 준비되기 전 대기
준비 (Ready) CPU 할당 대기
실행 (Run) CPU를 할당받아 실행
대기 (Wait / Block) 입출력 등 이벤트 대기
종료 (Terminated) 실행 완료

✅ 주요 전이 과정

🔹 Dispatch

  • 준비 상태 → 실행 상태

🔹 Wake Up

  • 대기 상태 → 준비 상태

🔹 Spooling

  • 입출력 데이터를 직접 장치로 보내지 않고 디스크에 임시 저장한 후 처리하는 방식

🎯 포인트

  • Dispatch = Ready → Run
  • Wake Up = Wait → Ready
  • Spooling = 입출력 데이터 임시 저장 후 처리

4️⃣ 스레드(Thread)

✅ 개념

  • 프로세스 내부에서 실행되는 작업 단위

✅ 특징

  • 경량 프로세스(Light Weight Process)
  • 동일 프로세스 내 자원 공유
  • 병렬 처리 가능

5️⃣ 스케줄링(Scheduling)

✅ 개념

  • 프로세스가 실행될 때 CPU를 어떤 프로세스에게 할당할지 결정하는 작업

✅ 목적

  • CPU 이용률 증가
  • 처리량 증가
  • 응답시간 감소
  • 대기시간 감소

🎯 포인트

  • CPU 할당 결정 과정 = 스케줄링

6️⃣ 비선점 스케줄링 (Non-Preemptive)

✅ 개념

  • 이미 CPU를 할당받은 프로세스가 작업을 끝낼 때까지 CPU를 빼앗지 않는 방식

✅ 종류

알고리즘 설명
FCFS 먼저 도착한 프로세스를 먼저 실행하는 스케줄링 방식
SJF 실행 시간이 가장 짧은 프로세스를 먼저 실행하는 방식
HRN 응답 비율(Response Ratio)이 가장 높은 프로세스를 먼저 실행하는 방식
기한부 작업의 마감 시간(Deadline)을 기준으로 스케줄링하는 방식

🎯 포인트

  • CPU 강제 회수 없음

7️⃣ 선점 스케줄링 (Preemptive)

✅ 개념

  • 실행 중인 프로세스의 CPU를 강제로 빼앗아 다른 프로세스에 할당 가능

✅ 종류

알고리즘 설명
Round Robin 각 프로세스에게 일정한 시간 할당량(Time Quantum)을 주어
순환하면서 실행하는 방식
SRT 현재 실행 중인 프로세스보다 남은 실행 시간이 더 짧은 프로세스
도착하면 CPU를 선점하는 방식
선점 우선순위 우선순위가 높은 프로세스가 CPU를 선점하여
실행하는 스케줄링 방식
다단계 큐 여러 개의 큐를 구성하여 프로세스를 분류하고
각 큐마다 다른 스케줄링을 적용하는 방식

🎯 포인트

  • CPU 강제 회수 가능

8️⃣ FCFS (First Come First Service)

✅ 개념

  • 먼저 도착한 프로세스를 먼저 실행하는 스케줄링

✅ 특징

  • FIFO 방식
  • 구현이 단순
  • 긴 작업이 먼저 오면 대기시간 증가

🎯 포인트

  • FCFS = 선입선출

9️⃣ SJF (Shortest Job First)

✅ 개념

  • 준비 큐에서 실행 시간이 가장 짧은 프로세스 먼저 실행

✅ 특징

  • 평균 대기시간 최소
  • 실행 시간 예측 필요
  • 긴 작업의 기아 현상 발생 가능

🎯 포인트

  • 최소 평균 대기시간

🔟 HRN (Highest Response Ratio Next)

✅ 개념

  • 대기시간과 서비스시간을 이용하여 우선순위를 계산하는 스케줄링 방식

✅ 우선순위 계산

  • 우선순위 = (대기시간 + 서비스시간) / 서비스시간

✅ 특징

  • 긴 작업의 기아 현상 해결
  • SJF 단점 보완

🎯 포인트

  • HRN = 응답비율 기반 스케줄링

1️⃣1️⃣ RR (Round Robin)

✅ 개념

  • 각 프로세스에게 시간 할당량(Time Slice) 만큼 CPU를 할당

✅ 특징

  • 시분할 시스템에 적합
  • 공정성 높음
  • 문맥교환 증가 가능

🎯 포인트

  • Time Quantum 기반

1️⃣2️⃣ SRT (Shortest Remaining Time)

✅ 개념

  • 현재 실행 중인 프로세스보다 남은 실행시간이 짧은 프로세스가 들어오면 CPU를 선점

✅ 특징

  • SJF의 선점형 버전
  • 잦은 문맥 교환 발생

🎯 포인트

  • 남은 실행시간 기준 선점

📊 시험 포인트 정리

🔥 반드시 암기

  • 프로세스 정의
  • PCB 저장 정보
  • Dispatch / WakeUp
  • 스레드 개념
  • 비선점 / 선점 스케줄링 차이

🔥 계산 문제

  • FCFS
  • SJF
  • HRN
  • RR
  • SRT

👉 주로 평균 대기시간 / 평균 반환시간 계산 문제


🔥 HRN 공식

  • 우선순위 = (대기시간 + 서비스시간) / 서비스시간

👉 우선순위 계산 문제 출제


🔥 Round Robin 핵심

  • Time Quantum
  • 문맥교환
  • 시분할 시스템

🔥 선점 / 비선점 핵심

  • 비선점

    • FCFS / SJF / HRN
  • 선점

    • RR / SRT / 우선순위





2025 시나공 퀵이지 정보처리기사 실기 단기완성
(저자: 강윤석, 김용갑, 김우경, 김종일 | 출판사: 길벗)

※ 본 글은 위 교재를 참고하여 학습 목적으로 재정리한 내용입니다.