Live Today

[운영체제] Context Switching 본문

Computer Science/운영체제

[운영체제] Context Switching

ilivetoday 2023. 2. 1. 22:36
반응형

✅ Context Switching 이란 ?

  • 현재 진행하고 있는 Task(Process, Thread)의 상태를 저장하고 다음 진행할 Task의 상태 값을 읽어 적용하는 과정을 말합니다.
  • 멀티프로세스 환경에서 CPU가 어떤 하나의 프로세스를 실행하고 있는 상태에서 인터럽트 요청에 의해 다음 우선 순위의 프로세스가 실행되어야 할 때 Context Switching이 일어남
💡 즉, 기존의 프로세스의 상태 또는 레지스터 값(Context)을 저장하고 CPU가 다음 프로세스를 수행하도록 새로운 프로세스의 상태 또는 레지스터 값(Context)를 교체하는 작업을 Context Switch(Context Switching)라고 한다.

 

 

✅ 왜 Context Switching이 필요한가?

Computer가 매번 하나의 Task만 처리할 수 있다면?

  • 해당 Task가 끝날때까지 다음 Task는 기다릴 수 밖에 없습니다.
  • 또한 반응속도가 매우 느리고 사용하기 불편합니다.

그렇다면 다양한 사람들이 동시에 사용하는 것처럼 하기 위해선?

  • Computer multitasking을 통해 빠른 반응속도로 응답할 수 있습니다.
  • 빠른 속도로 Task를 바꿔 가며 실행하기 때문에 사람의 눈으론 실시간처럼 보이게 되는 장점이 있습니다.
  • 따라서 CPU가 Task를 바꿔 가며 실행하기 위해서는 Context Switching이 필요함.