운영체제가 여러 프로세스를 관리하기 위해 -반드시 필요한 요소가 바로 **PCB(Process Control Block)**입니다. 이번 글에서는 PCB가 무엇을 포함하고 어떻게 관리되는지, 그리고 프로세스 테이블과의 관계를 간단하게 살펴보겠습니다.
1. PCB(Process Control Block)란
운영체제는 메모리에 적재된 수많은 프로세스를 구분해야 합니다. 이를 위해 각 프로세스마다 고유한 관리 정보를 담은 PCB를 생성합니다.
1️⃣ PCB는 언제 만들어지고 언제 삭제될까?
- 프로세스 생성 시: 커널 영역에 PCB가 생성됨
- 프로세스 종료 시: PCB는 삭제되고 모든 자원이 회수됨
2️⃣ PCB가 담고 있는 대표 정보
- 프로세스 ID(PID) – 프로세스를 식별하는 번호
- 레지스터 값 – 실행 도중 저장해야 하는 CPU 레지스터 정보
- 프로세스 상태 – 준비, 실행, 대기 등
- CPU 스케줄링 정보 – 우선순위 등
- 메모리 관리 정보 – 코드/데이터/스택/힙의 위치
- 파일/입출력 정보 – 해당 프로세스가 사용하는 파일 및 장치 정보
이 정보들이 있어야 문맥 교환(context switch) 시 프로세스를 이전 상태로 정확히 복구할 수 있습니다.
2. 프로세스 테이블(process table)

운영체제는 수많은 PCB들을 각각 따로 관리하는 대신, 커널 내부에 프로세스 테이블이라는 구조를 두고 PCB들을 한곳에 모아 관리합니다.
1️⃣ 프로세스 테이블의 역할
- 새로운 프로세스 실행 → PCB를 테이블에 추가
- 프로세스가 종료 → PCB 삭제 및 자원 회수
즉, 프로세스 테이블은 “현재 실행 중인 모든 프로세스의 PCB 목록”이라고 볼 수 있습니다.
3. 좀비 프로세스(zombie process)란?
프로세스는 종료되었지만 부모 프로세스가 아직 종료 상태를 회수(wait)하지 않아,
PCB가 테이블에 남아 있는 상태를 좀비 프로세스라고 부릅니다.
- 실행은 끝났지만 PCB는 남아 있음
- 부모 프로세스가 회수하면 PCB가 제거됨
운영체제에서 가끔 문제가 되는 상황이지만, wait() 호출로 해결 가능합니다.
정리하면
- PCB는 프로세스를 표현하는 핵심 정보 묶음이다.
- 프로세스 테이블은 PCB들의 집합이며, OS가 프로세스를 관리하는 핵심 구조.
- 좀비 프로세스는 종료되었지만 PCB가 남아 있는 프로세스이다.
간단하지만 OS 구조를 이해하는 데 매우 중요한 내용입니다.
'컴퓨터 과학' 카테고리의 다른 글
| [운영체제] 프로세스와 스레드 - 프로세스의 상태 (0) | 2025.11.25 |
|---|---|
| [운영체제] 프로세스와 스레드 - 문맥교환 (0) | 2025.11.25 |
| [운영체제] 프로세스와 스레드 - 사용자 영역 (0) | 2025.11.25 |
| [운영체제] 시스템 콜 (0) | 2025.11.25 |
| [컴퓨터 구조] 보조기억장치와 입출력장치 - RAID (0) | 2025.11.24 |