0%

OS - 컨텍스트 스위칭

컨텍스트 스위칭이란

운영체제의 스케줄러는 자원의 낭비를 최소화하기 위해 여러 프로세스를 계속해서 번갈아가며 실행하는 멀티프로그래밍 방식으로 프로세스를 실행한다.

프로세스 A, B가 실행 중이라고 가정해보자. A 프로세스가 running 상태이고, B 프로세스가 ready 상태일 때, 스케줄러가 A 프로세서에서 B 프로세서로 실행하는 프로세스를 바꾸는 것이 컨텍스트 스위칭 이다.

PCB란

컨텍스트 스위칭이 일어날 때, 프로세스는 프로세스가 실행되는 상태의 모든 정보를 PCB(Process Control Block)란 자료구조에 저장하고, 이것은 메인 메모리에 저장된다.

스케줄러가 이 프로세스를 다시 실행하려고 한다면 , PCB에 있는 정보를 CPU에 다시 넣고 실행하게 된다. 이런 과정을 통해 예전에 실행하던 프로세스의 정보를 그대로 가져와 중지된 부분부터 다시 실행할 수 있게 된다.