ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 문맥 전환(Context Switching)
    내가 몰랐던 IT 용어 2023. 5. 13. 14:38

    문맥 전환(Context Switching)

    작업의 주체가 현재 Context를 잠시 중단하고 다른 Context를 실행하는 것을 Context Swiching이라 한다.

    • CPU의 코어가 1개라면 동시에 하나의 프로세스만 실행이 가능하다. CPU scheduling을 통해서 하나의 CPU를 여러 작업들이 공유할 수 있게 cpu **시간을 나누어** 작업을 수행한다.
    • 이때, 프로세서가 지금까지 실행되던 프로세스를 중지하고 다른 프로세스의 `PCB(Process Controll Block)`정보를 바탕으로 프로세스를 실행하는 것을 `Process Context Switching`이라고 한다.
    • 동일한 프로세스 속에서 하나의 쓰레드를 중지하고 다른 쓰레드의 `TCB(Thread Control Block)`정보를 바탕으로 쓰레드를 실행하는 것을 `Thread Context Switching`이라고 한다.
    • 참고로, Process는 하나이상의 Thread로 동작하기 때문에 `Context Switching의` 최소 단위는 TCB이다.

    TCB와 PCB

    • PCB : Process Controll Block
      • Process ID와 상태, 우선순위, 메모리 정보 등을 저장한다. 멀티스레드가 아닌 멀티프로세스 환경에서는 PCB가 PC와 Register Set 정보도 포함한다. 여기서는 멀티스레드 환경이라 가정한다.
    • TCB : Thread Control Block
      • Thread별로 존재하는 자료구조이며, PC와 Register Set(CPU 정보), 그리고 PCB를 가리키는 포인터를 가진다.

    참조

    '내가 몰랐던 IT 용어' 카테고리의 다른 글

    RPC  (0) 2023.05.13
    청크(Chunk)  (0) 2023.05.13
    Failover 와 Failback  (0) 2023.05.13
    Endian(엔디언)  (0) 2023.05.13
    443포트와 80포트  (0) 2023.05.13
Designed by Tistory.