Context Switch란 CPU가 어떤 하나의 프로세스를 실행 중인 상태에서
Interrupt 요청에 의해 다음 우선 순위의 프로세스가 실행되어야 할 때,
기존의 프로세스 Context를 저장하고 CPU가 다음 프로세스를 수행하도록
새 프로세스의 Context를 교체하는 것을 의미한다.
이때, Context는
”상태 혹은 레지스터 값 등 CPU가 해당 프로세스를 실행하기 위한 해당 프로세스의 정보들”
을 뜻한다.
따라서 Context Switch가 일어날 때 OS는 내부적으로:
1. 현재의 레지스터 상태를 저장한다. 2. 스케쥴러를 결정한다. 3. 새 프로세스의 레지스터를 복원한다. 4. Page Table을 전환한다. (이는 곧 CR3의 변경을 의미한다.) 5. TLB를 무효화하거나 갱신한다. (Page Table Entry (PTE))
이 과정에서 CPU가 해석하는 가상 주소 공간이 전환된다.