PCB 개요
- 프로세스 제어 블록 (PCB): 운영 체제가 개별 프로세스를 관리하기 위해 사용하는 중요한 자료 구조.
- 고유성: 각 프로세스는 고유의 PCB를 가지며, 프로세스 생성 시 만들어지고 실행 완료 시 폐기된다.
- PCB의 내용: 프로세스에 대한 자료 블럭 또는 레코드로, 상태, 식별자, 우선순위 등에 관한 정보를 포함한다.
- PCB는 커널 메모리 영역에 저장된다.
- PCB에는 프로세스의 모든 정보를 가지고 있다.
PCB 구성 요소
프로세스 정보
- 프로세스 구분자(ID): 여러 프로세스를 구별하기 위한 고유 식별자.
- 우선순위: 프로세스의 실행 순서 결정.
- 프로세스 상태: 현재 프로세스의 상태(신규, 준비, 실행, 보류, 중단 등).
- 프로세스 어카운트: 사용시간, 계정 번호 등 프로세스 계정 정보를 제공.
- 프로그램 카운터: 다음에 실행될 명령의 주소.
환경 정보
- 레지스터 정보: CPU 레지스터 값, PCB에 레지스터 저장 공간을 두는 이유는 프로세스의 문맥 교환을 효율적으로 관리하기 위해서다.
- 포인터: 프로세스 큐를 구현할 때 사용.
- 메모리 관리 정보: 메모리 위치, 경계 레지스터 값 등.
- 할당된 자원 정보: 입출력 자원, 파일 등.
- 부모/자식 프로세스 구분자: 상위 및 하위 프로세스 식별.
PCB의 중요성
- PCB는 운영체제 내에서 프로세스의 존재를 정의하고, 모든 프로세스 관리 활동의 핵심이다.
- 실행이 종료된 프로세스는 해당 PCB가 삭제되면서 시스템 자원이 회수된다.
PCB의 동적 관리
- PCB는 프로세스의 생명주기 동안에만 존재하며, 프로세스 상태의 변화에 따라 계속 갱신된다.
- 커널 메모리 영역에 저장되며, 최대 프로세스 수에 따라 공간이 할당되고 관리된다.
'운영체제' 카테고리의 다른 글
컴퓨터 시스템의 인터럽트 처리 매커니즘 (0) | 2024.04.21 |
---|---|
문맥 교환 (Context Switching) (0) | 2024.04.20 |
프로세스 개념 (0) | 2024.04.20 |
시분할 시스템(Time Sharing Systems) (0) | 2024.04.20 |
멀티 프로세싱 (0) | 2024.04.20 |