cs 지식
컨텍스트 스위칭(Context Switching)
둥탕탕
2023. 3. 24. 14:45
- 컨텍스트 스위칭
여러 개의 프로세스 실행되고 있을 때, 기존에 실행되던 프로세스 중단→ 다른 프로세스 실행
*즉 CPU에 실행할 프로세스를 교체하는 기술
-PCB
컨텍스트 스위칭은 PCB라고 하는 메모리의 별도 공간에 process 상태값 저장 후 해당 값들을
찾는 방법으로 구현.
PCB는 프로세스가 실행 중인 상태를 스냅숏 찍어 저장하는 공간.
-작동 순서
a라는 프로세스 - running , b라는 프로세스 ready라고 가정
1. 스케줄러가 a프로세스 실행 중단 후 b 프로세스 실행할 것 요청
2. a프로세스에서 Stack의 데이터 위치 가리키고 있는 Stack pointer의 값과 다음 실행해야 하는 코드의 주소값을 가지고 있는 Program Counter의 값을 PCB에 저장
3. a프로세스는 ready 또는 block 상태로 바뀜 -> CPU에서는 B프로세스를 실행(이 과정에서 B프로세스의 상태가 ready에서 running으로 바뀜) ==> 이 과정을 Dispatch라고 한다.