토픽 9 / 85·프로세스 관리
PCB (Process Control Block)
PCB (Process Control Block)
프로세스에 대한 모든 정보를 저장하는 커널 내 자료구조로, 프로세스 관리·스케줄링·컨텍스트 스위칭에 필요한 상태·레지스터·메모리 정보를 포함
목적: 프로세스 상태 관리, 컨텍스트 저장, 스케줄링 정보, 자원 추적
특징: 커널 메모리 저장, 프로세스당 1개, 컨텍스트 스위칭 시 사용
구성요소
- •프로세스 식별: PID(Process ID), PPID(부모 PID), UID/GID(소유자)
- •프로세스 상태: New/Ready/Running/Waiting/Terminated
- •프로그램 카운터(PC): 다음 실행 명령어 주소
- •CPU 레지스터: 범용 레지스터, 스택 포인터, 상태 레지스터
- •CPU 스케줄링 정보: 우선순위, 스케줄링 큐 포인터, 시간 할당량
- •메모리 관리 정보: 페이지 테이블, 세그먼트 테이블, 베이스/리미트 레지스터
- •계정 정보: CPU 사용 시간, 실행 시간, 시간 제한
- •I/O 상태 정보: 열린 파일 테이블, I/O 장치 할당
사용 시기: 프로세스 생성, 컨텍스트 스위칭, 스케줄링, 종료
위치: 커널 메모리(사용자 접근 불가)
적용사례: 모든 현대 OS, 프로세스 관리, 멀티태스킹
비교: PCB(프로세스 단위/무거움/독립 주소공간) vs TCB(스레드 단위/가벼움/공유 주소공간)
연관: 프로세스, 컨텍스트 스위칭, 스케줄링, TCB