← 질문 목록
#221깊이 0

컨텍스트 스위칭 시 CPU는 무엇을 저장하고 복원하는가?

운영체제기초동시성성능

현재 실행 중인 프로세스의 상태 정보인 PCB로 상태를 저장하고, 다음으로 실행할 프로세스의 PCB에서 상태를 복원한다.

  1. CPU 레지스터현재 PCB

    프로그램 카운터와 레지스터 값을 옮겨 적는다

  2. 다음 PCBCPU 레지스터

    저장해 둔 값을 덮어쓴다

상태 저장 시 CPU의 프로그램 카운터(PC)과 레지스터 값들이 PCB에 옮겨진다. 그래야 나중에 다시 돌아왔을 때 중단된 지점부터 정확히 연산으로 돌아갈 수 있다.

이후 스케줄러가 선택한 다음 프로세스의 PCB를 읽어 CPU 레지스터에 값을 덮어쓴다. 이 과정에서 CPU는 어떤 실제 연산을 수행하지 않는 것을 오버헤드로 본다.

전환 뒤 캐시 미스가 늘어나는 비용이 중요하다. CPU 캐시가 지워지는 것이 아니라 새 작업의 데이터에 밀리는 것이고, TLB도 꼬리표를 달 수 있으면 통째로 비우지 않는다. 단순한 레지스터 복원보다 이 캐시 초기화 비용이 더 크다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

컨텍스트 스위칭 시 CPU는 무엇을 저장하고 복원하는가?