PCB 전환 흐름

컨텍스트 스위칭 PCB 저장

PCB의 레지스터, 상태, 페이지 테이블 포인터, 스케줄링 정보가 저장과 복원 단계마다 정확히 쓰여야 프로세스가 끊긴 지점부터 이어집니다.

irq

커널 진입

타이머 인터럽트나 I/O 대기가 사용자 모드 실행을 멈춥니다.

save

A의 CPU 상태 저장

PC, SP, FLAGS, 범용 레지스터가 A의 PCB에 기록됩니다.

pick

다음 PCB 선택

Ready Queue에서 우선순위와 사용 시간을 보고 B를 고릅니다.

mmu

주소 공간 교체

B의 페이지 테이블 포인터가 로드되며 가상 주소 해석 기준이 바뀝니다.

restore

B의 실행 재개

B의 PCB에서 레지스터를 복원하고 사용자 모드로 돌아갑니다.

CPU context

레지스터와 PC

프로세스가 다음에 실행할 명령어와 스택 위치를 보존합니다.

memory

페이지 테이블 포인터

CR3처럼 주소 공간을 가리키는 값이 전환 비용과 TLB 영향에 연결됩니다.

schedule

상태와 우선순위

Ready인지 Waiting인지, 어떤 순서로 CPU를 받을지 결정합니다.

resource

파일과 시그널

열린 파일, 작업 디렉터리, 대기 시그널이 프로세스 실행 환경을 이룹니다.