Operating System · 한장정리
[기술사토픽] PCB(Process Control Block) 완벽 정리 - 8가지 구성요소
PCB의 개념, 8가지 구성요소(PID·상태·PC·레지스터·스케줄링·계정·I/O·메모리), 프로세스 상태 전이·디스패처를 기술사 관점으로 정리합니다.
Ⅰ.PCB 개요
PCB(Process Control Block): 프로세스를 관리하기 위해 OS가 유지하는 데이터 블록. 컨텍스트 스위칭 시 저장·복원의 핵심 자료구조.
암기법
8요소: PID·상태·PC·레지스터·스케줄링·계정·I/O·메모리 (피상카레스계입메)
Ⅱ.PCB 8가지 구성요소
| 구성요소 | 설명 | 비고 |
|---|---|---|
| PID (프로세스 식별자) | 각 프로세스 고유 식별자 | 숫자·색인 항목 |
| 프로세스 상태 | 생성·준비·실행·대기·중단 | Process Status Register |
| 프로그램 카운터(PC) | 다음 실행 명령의 주소 | PC Register |
| 레지스터 저장 | 범용 레지스터·조건코드 (AC·ISR·MBR·MAR·AX) | 인터럽트 발생 시 저장·복구 |
| 스케줄링 정보 | 우선순위·스케줄링 큐 포인터·매개변수 | |
| 계정 정보 | 사용시간·실제 사용시간·상한시간·작업 번호 | |
| 입출력 상태 정보 | 할당된 I/O 장치 리스트·개방 파일 목록 | Open 파일 정보 |
| 메모리 관리 정보 | 경계 레지스터·페이지/세그먼트 테이블·Cache 주소 | Page·Segment Table |
Ⅲ.프로세스 상태 전이 & 디스패처
| 상태 | 설명 |
|---|---|
| 생성(New) | 프로세스 생성 중. PCB 할당 |
| 준비(Ready) | CPU 할당 대기. 준비 큐에서 대기 |
| 실행(Running) | CPU 점유 중 |
| 대기(Waiting) | I/O 완료 대기. CPU 반납 |
| 중단(Suspended) | 중기 스케줄러에 의해 메모리에서 디스크로 스왑 아웃 |
| 종료(Terminated) | 실행 완료. PCB 해제 |
디스패처(Dispatcher)
스케줄러가 선택한 프로세스에 실제로 CPU를 넘겨주는 모듈.
역할: 문맥교환·사용자 모드 전환·프로그램 재시작. 디스패치 지연 최소화 필요
◎구성도 & 구성요소
Architecture · Layer Diagram
PCB (Process Control Block)
PID · PPID
프로세스 식별자
프로세스 상태
Ready·Running·Waiting
프로그램 카운터
다음 명령어 주소
CPU 레지스터
컨텍스트 저장
CPU 스케줄링
우선순위·큐 포인터
메모리 관리
페이지·세그먼트 테이블
입출력 상태
할당 장치·파일 목록
계정 정보
CPU 사용 시간·제한
Ⅴ.결론
결론
PCB는 프로세스 관리의 핵심 자료구조로 멀티태스킹 OS의 기반입니다.
8가지 구성요소를 정확히 이해하면 컨텍스트 스위칭과 스케줄링의 원리가 명확해집니다.
"PCB는 프로세스의 신분증이자 컨텍스트 스위칭의 핵심 자료구조다."
블로그: 기술사 학습노트 · imt-log.tistory.com
'시스템아키텍처' 카테고리의 다른 글
| CORS 동작 원리와 Preflight 요청·보안 정책 완전 정리 (1) | 2026.04.13 |
|---|---|
| BCP 업무연속성계획과 DR 재해복구 전략 정리 (1) | 2026.04.11 |
| 아키텍처 뷰(View)와 관심사 분리: ISO 42010 메타 모델과 12207 테일러링 전략 (0) | 2026.04.06 |
| ISO/IEC 15504(SPICE) 프로세스 평가모델과 성숙도 체계 정리 (1) | 2026.04.04 |
| MSA 핵심 정리와 서비스 분해·API 게이트웨이 아키텍처 (0) | 2026.04.04 |