PCB (Process Control Block) 이란?
2021. 7. 2. 23:34ㆍ운영체제
먼저 프로세스란, 실행을 위해 커널에 등록된 작업 / 프로그램을 일컫는다.
간단하게는 실행중인 프로그램이라고 생각할 수 있다.
정적인 프로그램이 커널에 등록되어, 즉 프로세스가 되어 각종 자원을 할당받을 수 있게 된다.
Process Control Block, 프로세스 제어 블록이란, 운영체제가 프로세스 관리에 필요한 정보들을 담은 블록이다.
커널은 프로세스 생성시 PCB 개체를 만들고 이를 통해 프로세스들을 관리하는데,
역으로 프로그램이 PCB를 할당받은 상태를 프로세스라고 말할 수도 있다.
그렇다면 PCB는 어떤 정보를 저장하고 있을까?
- Process ID : 프로세스의 식별자
- Process State : 준비, 대기 등 프로세스의 상태
- Program Counter : 이 프로세스가 다음에 실행할 명령어의 주소를 가리킴
- Context Data : 프로세스의 레지스터 상태 등을 저장
- CPU Scheduling Information : 우선 순위, 최종 실행시각 등
- Memory Information : 메모리 주소 등
- Accounting Information : 자원 사용 시간 등
- I/O Status Information : 프로세스에 할당된 입출력장치 목록 등
운영체제에 따라 PCB에 포함된 정보가 다를 수 있지만, 일반적으로는 위와 같은 정보들을 관리한다.
'운영체제' 카테고리의 다른 글
Kernel Thread, User Thread (0) | 2021.07.08 |
---|---|
Thread 의 개념 (0) | 2021.07.07 |
Interrupt 와 Context Switching (0) | 2021.07.05 |
Process state, 프로세스의 상태 (0) | 2021.07.03 |
메모리 계층구조, Cache Memory 의 작동 방식 (0) | 2021.07.02 |