Live Today
[운영체제] PCB와 TCB 본문
반응형
- PCB는 OS의 스케줄러에 의해 Context Switching되는 프로세스의 정보 단위를 의미하고
- TCB는 스레드 라이브러리에 의해 Context Switching되는 스레드의 정보 단위를 의미한다.
즉, 우리가 흔히 배우는 OS의 스케줄러가 스케줄링 해주는 것은 프로세스의 PCB이고, TCB는 프로세스에 있는 스레드 라이브러리에 의해 스케줄링 되는 것이다.
그래서 Context Switching이 일어날 때 멀티 프로세스를 통해 PCB를 컨텍스트 스위칭 하는 것 보다 멀티 스레드를 통해 TCB를 컨텍스트 스위칭 하는 것이 더 오버헤드가 적다는 것이다.(위의 그림만 봐도 TCB가 PCB보다 작은 크기를 가지고 있다.)
PCB는 운영체제에게 프로세스에 대한 중요한 정보를 제공해주는 자료구조 테이블이다. 운영체제가 CPU를 다른 프로세스에게 넘겨주고자 할 때, 프로세스에 관한 모든 정보를 PCB에 저장시키고 나서 다시 실행하고자 할 때는 PCB에 보관된 정보를 재사용한다.
'Computer Science > 운영체제' 카테고리의 다른 글
[운영체제] 프로세스 메모리 구조 (0) | 2023.01.31 |
---|---|
[운영체제] 프로세스 생성 단계 (0) | 2023.01.30 |
[운영체제] 프로세스 상태 (0) | 2023.01.29 |
[운영체제] 사용자 수준의 스레드(ULT) 와 커널 수준 스레드(KLT) (0) | 2023.01.28 |
[운영체제] 프로세스와 스레드 (0) | 2023.01.26 |