먼저 생활 비유
책갈피를 여러 겹 꽂기
책을 읽다 전화가 오고 다시 초인종이 울려도, 각 책갈피가 있으면 가장 최근에 멈춘 일부터 되돌아갈 수 있습니다.
4.9 · 회로와 CPU
CPU가 다른 코드로 갔다가 원래 자리로 정확히 돌아오는 비결은 무엇일까요?
현재 레지스터와 복귀 주소를 문맥으로 저장하고 다른 스택이나 문맥을 불러옵니다.
먼저 생활 비유
책을 읽다 전화가 오고 다시 초인종이 울려도, 각 책갈피가 있으면 가장 최근에 멈춘 일부터 되돌아갈 수 있습니다.
컴퓨터 예제로 바꾸기
user code → syscall → kernel → interrupt → kernel → user사용자 스택, 커널 스택, 인터럽트 프레임에 필요한 복귀 상태가 층층이 저장됩니다.
지금 일어나는 변화
PC, SP와 일반 레지스터가 현재 작업 상태를 이룹니다.
이 그림에서 기억할 한 문장
다른 종류의 전환도 “어디까지 했는지 저장하고 새 실행 위치로 이동한 뒤 복원한다”는 공통 구조를 가집니다.
현재 상태
30초 확인 문제
문맥을 저장하지 않고 다른 스레드로 바꾸면?
처음 보는 용어 두 개
이 절을 다 읽었다면
다른 종류의 전환도 “어디까지 했는지 저장하고 새 실행 위치로 이동한 뒤 복원한다”는 공통 구조를 가집니다.