멀티 스레드 컨텍스트 스위칭
- 스레드는 프로세스의 메모리를 공유하고 스택만 독립적으로 가지므로 TCB만 교체됨
- TCB에는 스레드 ID, 레지스터(stack pointer, pc 등), 스레드 상태(ready, running, waiting etc), PCB 포인터 등을 저장
- 다른 가상 메모리로의 전환이 필요없고 TLB와 캐시 메모리가 플러싱되지 않음
멀티 프로세스 컨텍스트 스위칭
- 컨텍스트 스위칭뿐만 아니라 메모리 전환도 일어남
- 프로세스 마다 가상 메모리가 할당되기 때문
- 메모리 주소, 페이지 테이블, 캐시 등도 바뀜
- 접근하는 가상 메모리 주소가 달라졌기 때문에 TLB의 기존 데이터는 플러싱되고 새 프로세스의 정보로 채워짐
- 프로세스를 메모리에 올렸다가 내리는 과정의 오버헤드가 크다
- 프로세스가 스위칭되면 PCB, TCB가 전부 교체됨