프로세스와 쓰레드는 비슷하게 실행중인 상태로 정의가 된다.
그래서 둘은 비슷하게 Control Block이라는 것을 이용해서 다뤄진다.
어떻게 차이가 있고 어떻게 비슷한 점이 있는지 알아보자
😎
PCB(Process Control Block)와 TCB(Thread Control Block)는 운영 체제에서 프로세스와 쓰레드를 관리하는 데 사용되는 중요한 데이터 구조이다.
PCB: 프로세스와 관련된 정보를 저장하는 자료구조
PCB에 담긴 자료:
1. 프로세스 ID : 프로세스를 식별하기 우해 부여하는 고유한 번호 (학번과 비슷)
2. 레지스터 값 : 프로그램 카운터,
3. 프로세스 상태 : 입출력장치를 기다리는 상태인지, CPU 사용을 위해 기다리는 상태인지
4. CPU 스케줄링 정보 : 프로세스가 언제, 어떤 순서로 CPU를 할당 받을 건지
5. 메모리 관리 정보

PCB는 프로세스 생성 시에 만들어지고 실행이 끝나면 폐기된다.
TCB: 쓰레드 정보, 상태, 스택 영역, 레지스터 정보 등을 포함하는 운영 체제 데이터 구조
TCB에 담긴 자료:
PCB를 가리키는 Pointer, 우선순위, 스택, 레지스터 등 thread의 정보가 저장
TCB는 운영체제가 thread를 관리하고 스케줄링하기 위해 필요한 정보를 제공합니다.
thread가 생성될 때마다 생성되고, thread가 종료되면 해제됩니다.
보통 Linked list로 구현된다.

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