공부한 것
Context Switching
hsnyus
2026. 6. 5. 15:11
Context Switching?
CPU는 한번에 하나의 작업만 처리할 수 있다. 근데 난 노래를 들으면서 게임을 하면서 강의를 들으면서 친구와 디스코드로 대화를 한다.
이게 어떻게 가능할까?
이게 가능한 이유는 컴퓨터가 여러 프로세스나 스레드를 아주 매우 많이 빠르게 전환해 번갈아가면서 실행하기 때문이다.
이때 작업중이던 작업에서 다른 작업으로 넘어가는 것을 Context Switching이라고 한다.
저장과 복원
현재 하던 작업 A의 상태, 예를 들어서 어디까지 계산했는지나, 레지스터 값 등을 프로세스 제어 블록(PCB)등에 저장하고 넘어갈 작업 B의 이전 상태를 복원해서 이어서 할 수 있다.
오버헤드(Overhead)
이 전환 과정은 CPU가 실제로 무슨 유용한 프로그램을 실행하는게 아니라 운영체제가 내부 시스템 관리를 위해 쓰는 시간이라서 Context Switching이 너무 잦아지면 시스템 전체의 성능이 떨어지는 원인이 된다.