PCB(Process Control Block) 과TCB(Thread Control Block)

박종원·2024년 3월 14일

프로세스와 쓰레드는 비슷하게 실행중인 상태로 정의가 된다.
그래서 둘은 비슷하게 Control Block이라는 것을 이용해서 다뤄진다.
어떻게 차이가 있고 어떻게 비슷한 점이 있는지 알아보자
😎
PCB(Process Control Block)와 TCB(Thread Control Block)는 운영 체제에서 프로세스와 쓰레드를 관리하는 데 사용되는 중요한 데이터 구조이다.

PCB

PCB: 프로세스와 관련된 정보를 저장하는 자료구조

PCB에 담긴 자료:
1. 프로세스 ID : 프로세스를 식별하기 우해 부여하는 고유한 번호 (학번과 비슷)
2. 레지스터 값 : 프로그램 카운터,
3. 프로세스 상태 : 입출력장치를 기다리는 상태인지, CPU 사용을 위해 기다리는 상태인지
4. CPU 스케줄링 정보 : 프로세스가 언제, 어떤 순서로 CPU를 할당 받을 건지
5. 메모리 관리 정보

PCB는 프로세스 생성 시에 만들어지고 실행이 끝나면 폐기된다.

TCB

TCB: 쓰레드 정보, 상태, 스택 영역, 레지스터 정보 등을 포함하는 운영 체제 데이터 구조

TCB에 담긴 자료:
PCB를 가리키는 Pointer, 우선순위, 스택, 레지스터 등 thread의 정보가 저장

TCB는 운영체제가 thread를 관리하고 스케줄링하기 위해 필요한 정보를 제공합니다.

thread가 생성될 때마다 생성되고, thread가 종료되면 해제됩니다.
보통 Linked list로 구현된다.

공통점

운영 체제 데이터 구조: 프로세스/쓰레드 관리에 사용
정보 및 상태 관리: 프로세스/쓰레드 정보, 상태, 스케줄링 정보 등 관리
시스템 관리: 프로세스/쓰레드 생성, 종료, 스케줄링 등 수행

0개의 댓글