여러 프로세스들을 동시에 실행(하는 것처럼) 하기 위해 컴퓨터는 그 프로세스들을 번갈아가며 실행하게 되는데,
그 과정에서 일어나는 것이 Context switch이다.
Context switch를 직역하면 문맥 교환이라는 뜻이 된다.
즉, Context switch는 프로세스의 문맥(context)인 PCB를 교환(switch)하는 작업이다.
PCB의 교환은 Dispatcher에 의해 이루어지고, 아래의 과정을 거친다.
현재 실행중인 프로세스의 PCB를 저장하고, 다음 프로세스의 PCB를 불러온다.
PCB에는 다음에 실행될 명령어의 주소(Program counter)를 비롯한 다양한 정보들이 포함되어 있기 때문에 이것을 기억해두지 않으면 다시 처음부터 실행해야 될 수도 있다...
그리고 이로 인한 딜레이를 위 그림에서는 Idle로 표현하였으나 구체적으로는 Dispatch latency라고도 할 수 있다.
'CS > 운영체제' 카테고리의 다른 글
경쟁 상태(Race condition)의 간단한 예시 (0) | 2022.08.25 |
---|---|
FCFS, SJF, SRTF, RR의 계산 및 비교 (0) | 2022.08.23 |
프로세스 상태 전이도 요약 (0) | 2022.08.19 |
멀티스레딩의 장점과 과제 (0) | 2022.08.13 |
좀비 프로세스란 (0) | 2022.08.08 |
댓글