제이슨의 개발이야기

Context Switching 문맥교환 이란? 본문

운영체제

Context Switching 문맥교환 이란?

제이쓰은 2022. 10. 20. 14:50
728x90
반응형

 

오늘은 Context Switching 문맥교환에 대해서 공부하고자합니다!

 

저번 시간에 프로세스가 CPU 자원을 점유하여 작업한다는 이야기를 간략하게 한적이 있습니다 

자원을 점유한 프로세스는  작업을 끝날때까지 게속 하는 것이 아닌 우선순위 또는 시간 제한이 있어서 시간이 넘어가면 해당 프로세스는 작업을 중단해야 합니다 

 

중단할때 그냥 중단하는것이 아닌 그동안 작업한 내용을 PCB에 저장하는 과정을 거칩니다

그리고 새로 작업을 시작하는 프로세스의 PCB에 시작해야 할 작업의 지점을 가저오는 과정을 거칩니다

 

이러한 과정을 Context Switching(문맥교환) 이라고 합니다

 

정리하자면

 

기존 프로세스의 Context을 PCB에 백업하고 새로운 프로세스를 실행하기 위해 문맥을 PCB로 부터 복구하여 새로운 프로세스를 실행하는 것을 Context Switching 입니다

 

 

우리가 사용하는 프로그램들은 내부적으로 프로세스로써 Context Switching을 반복하면서 실행되고있습니다

 

그러나 이러한 Context Switching 이 너무 자주 하면 오버헤드가 발생할 수 있어서 무조건 자주 한다고 좋은 것은 아닙니다!

 

728x90
반응형