[시나공] 프로세스 · PCB · 스레드 · CPU 스케줄링 정리 (FCFS / SJF / HRN / RR / SRT)
2026. 3. 29. 18:33ㆍCertifications/정보처리기사 실기
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 시나공 퀵이지 정보처리기사 실기 단기완성
(저자: 강윤석, 김용갑, 김우경, 김종일 | 출판사: 길벗)
※ 본 글은 위 교재를 참고하여 학습 목적으로 재정리한 내용입니다.