Context Switching과 PCB/TCB

2023. 5. 8. 01:24WEB개발/TIL

반응형

Context Switching

여러 프로세스 또는 스레드번갈아가며 실행되는 과정

즉, CPU가 현재 실행 중인 Task(프로세스 또는 스레드)의 상태 정보를 PCB에 저장하고, 다음 실행할 Task의 상태 정보를 읽어 적용하는 과정

이 때, 현재 실행 중인 프로세스 또는 스레드의 상태 정보는 PCB 또는 TCB에 저장되고 불러옴.

  • CPU의 코어가 1개라면, 동시에 여러 작업을 처리할 수 없어 Context Switching를 통해 짧은 시간을 주기로 번갈아가며 여러 Task를 실행함.
  • 빠른 속도로 Task를 바꿔가며 실행하기 때문에 사람의 눈으론 동시에 여러 Task가 실행되는 것처럼 보이는 장점이 있음

 

PCB(Process Control Block)

OS기 프로세스를 관리하기 위해 필요한 정보를 저장하는 곳

각 프로세스마다 할당되며, 프로세스가 종료될 때 제거됨

[ PCB의 구조 ]
Pointer: 프로세스의 현재 위치를 저장하는 포인터 정보
Process State: 프로세스의 상태 정보
Process Number (PID): 각 프로세스를 구분하기 위한 고유 번호
Process Counter (PC): 해당 프로세스가 다음에 수행할 명령어의 주소 정보
...etc

 

TCB(Thread Control Block)

OS가 스레드를 관리하기 위해 필요한 정보를 저장하는 곳

PCB 내부에 TCB에 대한 정보 저장(멀티 스레드인 경우, 하나의 PCB에 여러 개의 TCB 연결되어 있음)

각 스레드마다 할당되며, 스레드가 종료될 때 제거됨.

 

 

 

 

내용 추가 예정......

반응형

'WEB개발 > TIL' 카테고리의 다른 글

CORS  (0) 2023.06.27
프로그램, 프로세스, 스레드  (0) 2023.05.08
NestJS 애플리케이션 Docker로 배포하기  (0) 2023.05.01
ORM - JPA  (0) 2023.03.27
Lombok  (0) 2023.03.24