티스토리 뷰

PCB와 TCB

PCB(Process Control Block)

  • Process는 자신에 관한 정보를 하나의 데이터 구조에 저장하여 관리한다. 이를 PCB라고 부른다.

 

TCB(Thread Control Block)

  • 하나의 Thread를 관리하는데 필요한 정보를 담고 있는 구조체이다. 프로세스의 상태를 관리하는 PCB보다 적은 양의 정보가 담겨있다.

 


Context

  • 프로세스의 경우 현재 프로세스가 중단 되었을 때, 중단된 시점 부터 다시 프로세스를 실행하기 위한 정보를 말한다. 이는 PCB라는 구조체에 저장된다.

 


Scheduling

  • 스케줄링은 "자원"에 "작업"을 할당하는 행위이다.
  • 자원은 프로세서, 네트워크 연결, 외부 장치 등을 의미하고, 작업은 thread, process 혹은 data flows를 의미한다.

 


Context Switching: 문맥교환

인터럽트를 발생시켜 CPU에서 실행중인 프로세스를 중단하고, 다른 프로세스를 처리하기 위한 과정이다.

Context Switching는 현재 실행중인 프로세스의 상태(Context)를 먼저 저장하고, 다음 프로세스를 동작시켜 작업을 처리한 후에 이전에 저장된 프로세스의 상태를 다시 복구한다. 여기서 인터럽트란 CPU가 프로세스를 실행하고 있을 때, 입출력 하드웨어 등의 장치나 예외상황이 발생하여 처리가 필요함을 CPU에게 알리는 것을 말한다.