PID, 레지스터, 프로그램 카운터, 우선순위, 메모리 정보, 열린 파일 포인터가 실행 재개에 필요합니다.
컨텍스트 스위칭 비용 구조
PCB, 레지스터, 스케줄링 정보, 파일 정보, run queue, voluntary와 nonvoluntary 전환을 한 흐름으로 보면 오버헤드가 분명해집니다.
01상태 저장
02PCB 갱신
03큐 이동
04다음 선택
05상태 복원
커널 진입, 레지스터 저장과 복원, 스케줄러 실행 시간이 즉시 측정되는 비용입니다.
캐시와 TLB가 식으면 다음 프로세스가 같은 CPU를 잡아도 메모리 접근 비용이 늘어납니다.
vmstat의 cs, /proc의 voluntary_ctxt_switches 값을 부하와 함께 봐야 과도한 전환을 판단할 수 있습니다.