switch cost ledger

컨텍스트 스위칭 비용

PCB에 레지스터를 옮기는 시간은 직접 비용이고, 캐시와 TLB가 다시 채워지는 시간은 숨어 있는 간접 비용입니다.

01

인터럽트 진입

타이머나 I/O 이벤트가 커널 모드 진입을 만들고 현재 실행을 멈춥니다.

02

현재 상태 저장

PC, SP, 범용 레지스터, FLAGS가 현재 프로세스 PCB에 기록됩니다.

03

다음 대상 선택

스케줄러가 Ready Queue에서 우선순위와 정책에 맞는 프로세스를 고릅니다.

04

주소 공간 전환

페이지 테이블이 바뀌며 TLB 항목이 무효화되거나 태그로 분리됩니다.

05

캐시 워밍업

새 프로세스 데이터가 캐시에 올라오기 전까지 메모리 접근 지연이 커집니다.

튜닝 관점

voluntary와 nonvoluntary 전환 수를 함께 보면 I/O 대기 때문에 양보한 것인지, CPU 경쟁 때문에 빼앗긴 것인지 구분할 수 있습니다.