컨텍스트 스위칭(Context Switching)은 한 Task가 끝날 때까지 기다리는 것이 아니라 여러 작업을 번갈아가며 실행해서 거의 동시에 처리되는 것처럼 보이게 하는 방법입니다.
인터럽트가 발생하면 현재 프로세스의 상태를 PCB(Process Control Block)에 저장하고
새로운 프로세스의 상태를 레지스터에 저장하는 방식으로 동작합니다.
이 때, CPU는 아무런 일을 하지 않으므로 잦은 컨텍스트 스위칭은 성능 저하를 일으킬 수 있습니다.
스레드와 프로세스의 동작방식이 약간 상이한데,
스레드는 캐시 메모리나 PCB에 저장해야하는 내용이 적고, 비워야 하는 내용도 적기 때문에 상대적으로 더 빠른 컨텍스트 스위칭이 일어날 수 있습니다.
'Back-end > Basic' 카테고리의 다른 글
Thread-safe 하다는 의미와 설계하는 법 (0) | 2021.11.22 |
---|---|
멀티스레드 프로그래밍 (0) | 2021.11.21 |
동기와 비동기의 차이(블로킹, 넌블로킹) / 장단점 (0) | 2021.11.21 |
프로세스와 스레드의 차이 (0) | 2021.11.21 |
OAuth에 대해서 간단히 설명 (0) | 2021.11.21 |