본문 바로가기
IT/Knowledge

Context Switch(컨택스트 스위치) 란?

by 성준하이 2022. 9. 12.
반응형

일단 해당 주제를 다루기 전에 프로세스에 대해서 개념이 정확히 잡히지 않았다면 아래 참고 포스팅을 보고 오는것을 추천한다.

 

멀티프로세스 환경에서

CPU 는 어떤 하나의 프로세스를 실행하고 있는 상태에서 인터럽트 요청에 의해 다음 우선 순위의 프로세스가 실행 되야할 때 기존의 프로세스의 상태 또는 레지스터 값을 저장하고 다음 프로세스를 수행하도록 새로운 프로세스의 상태 또는 레지스터 값을 교체하는 작업을 Context Switch(ing) 이라고 한다.

 

영어 이름을 그대로 번역을 한다면 문맥 교환 이라는 뜻이지만 이렇게 번역은 IT에서 옳지 않다.

 

그럼 좀더 자세하게 설명으로 들어가서 여기서 말하는 

Context 란?

사용자들 간이나 혹은 시스템, 디바이스 등 상호작용에 영향을 미치는 것을 규정하는 정보를 말한다.

각 사용되는 OS에서 CPU 가 해당 프로세스를 실행하기 위한 해당 프로세스 정보들이다.

 

하지만 이 Context Switch 라는 작업은 사용자가 임의로 내릴수도 있지만 언제 발생을 하느냐면 

특정 프로세스에 대한 인터럽트가 발생할 경우이다.

여기서 말하는 인터럽트란 하나의 이벤트라고 이해를 하면 쉬울 것이다.

 

어떤 인터럽트가 발생할 경우에 Context Switch 가 발생하는가 보면

  • I/O Request
  • Time Slice Expired
  • Fork a Child
  • Wait For an Interrupt

이다.


참고 포스팅

https://thenicesj.tistory.com/157

 

프로그램 / 프로세스 / 스레드

컴퓨터를 사용하다보면 프로그램이라는 단어를 많이 사용해보았을 것이다. 프로그램 윈도우 사용자 기준으로 설명을 한다면 .exe파일들 , 즉 실행할수 있는 모든 것을 프로그램이라고 한다. 프

thenicesj.tistory.com

 

반응형

'IT > Knowledge' 카테고리의 다른 글

정규 표현식 정리(Regex)  (59) 2022.09.19
CORS 란?  (62) 2022.09.14
Podman(RedHat)  (43) 2022.09.10
15 Factors  (64) 2022.09.08
12-Factor App 이란?  (62) 2022.09.04

댓글