컨텍스트 전환

– 컨텍스트 스위치

여러 프로세스가 실행 중인 경우 기존 프로세스 중지 → 다른 프로세스 실행

* 즉, CPU에서 수행할 프로세스를 대체하는 기술

-PCB

컨텍스트 전환은 프로세스 상태 값을 PCB라는 별도의 메모리 위치에 저장한 다음 적절한 값을 전송합니다.

알아보기 위해 구현했습니다.

PCB는 프로세스의 실행 상태에 대한 스냅샷을 캡처하고 저장하는 곳입니다.

– 운영 순서


프로세스 a가 실행 중이라고 가정하면 프로세스 b가 준비됨

1. 스케줄러는 프로세스 a의 실행을 중지한 후 프로세스 b의 실행을 요청합니다.

2. 프로세스 a에서 스택의 데이터 위치를 가리키는 스택 포인터의 값과 다음에 실행할 코드의 주소 값을 갖는 프로그램 카운터의 값을 PCB에 저장합니다.

3. 프로세스 a가 준비 상태 또는 차단 상태로 변경됨 -> CPU가 프로세스 B를 실행함(이 프로세스에서 프로세스 B는 상태를 준비 상태에서 실행 상태로 변경함) ==> 이 프로세스를 디스패치라고 합니다.