728x90
PCB (Process Control Block)란
PCB란 무엇인가?
PCB란 운영체제의 핵심 데이터 구조입니다. 운영체제는 컴퓨터 시스템의 자원을 효율적으로 관리하고, 다양한 프로그램을 동시에 실행할 수 있도록 돕습니다. 이런 역할을 수행하기 위해 각 프로세스에 대한 정보를 저장하고 관리해야 되는데 이 때 사용되는 데이터 구조가 바로 프로세스 컨트롤 블록 즉, PCB입니다.
PCB의 역할
PCB는 프로세스에 대한 모든 정보를 담고 있습니다. 운영체제는 PCB를 통해 각 프로세스의 상태를 파악하고 자원을 할당하고 관리하며 프로세스 간의 통신 및 동기화를 제어합니다.
PCB에 담긴 정보
- 프로세스 식별자 (Process ID, PID) : 프로세스를 고유하게 식별하는 번호
- 프로세스 상태 (Process State) : 프로세스의 현재 상태 (실행 중, 준비 상태, 대기 상태, 종료 상태 등)
- 프로그램 카운터 (Program Counter, PC) : 다음에 실행될 명령어의 주소
- CPU 레지스터 (CPU Registers) : CPU에서 사용되는 레지스터 값 (누산기, 명령어 포인터, 상태 레지스터 등)
- 메모리 관리 정보 : 프로세스가 사용하는 메모리 영역의 시작 주소, 크기, 페이지 테이블 등
- 자원 할당 정보 : 프로세스에 할당된 자원 (CPU 시간, 메모리, 파일 등) 정보
- 프로세스 우선순위 (Process Priority) : 프로세스의 실행 순위
- 프로세스 그룹 정보 : 프로세스가 속한 그룹 정보
- 부모 프로세스 ID : 프로세스를 생성한 부모 프로세스의 ID
- 계정 정보 : 프로세스를 실행하는 사용자 계정 정보
PCB의 중요성
PCB는 운영체제가 프로세스를 관리하는 데 필수적인 역할을 수행합니다.
- 프로세스 생성 및 종료 : 새로운 프로세스가 생성될 때 운영체제는 PCB를 생성하고, 프로세스가 종료될 때 PCB를 삭제
- 프로세스 스케줄링 : 운영체제는 PCB의 우선순위 정보를 사용하여 프로세스를 스케줄링하고 CPU 시간을 할당
- 메모리 관리 : 운영체제는 PCB의 메모리 관리 정보를 사용하여 프로세스에 메모리를 할당하고 해제
- 자원 관리 : 운영체제는 PCB의 자원 할당 정보를 사용하여 프로세스에 필요한 자원을 할당하고 관리
- 프로세스 간 통신 : 운영체제는 PCB를 사용하여 프로세스 간의 통신 및 동기화를 제어
728x90
'✏️ CS > 운영체제' 카테고리의 다른 글
[Ubuntu] 환경변수 설정하기 (0) | 2024.06.07 |
---|---|
GRUB란 무엇인가 (0) | 2024.06.06 |
VMware를 이용해 Ubuntu 가상 머신을 사용할 때의 장점 (0) | 2024.06.05 |
댓글