C++

[C++] 컨텍스트 스위치란

Guk-blog 2024. 3. 17. 11:26
728x90
반응형

컨텍스트 스위치(Context Switch)

CPU가 현재 실행 중인 프로세스 또는 스레드에서 다른 프로세스 또는 스레드로 전환하는 과정

이 과정에는 현재 실행 중인 프로세스의 상태(컨텍스트)를 저장하고, 새로운 프로세스의 상태를 불러와서 CPU가 이어서 작업을 수행할 수 있도록 하는 작업이 포함

컨텍스트 스위치는 다음과 같은 상황에서 발생

- Time Slice가 끝났을 때: 운영체제가 각 프로세스에 할당한 시간이 끝나면 다음 프로세스로 전환
- I/O 요청이 있을 때: 프로세스가 I/O 작업을 요청하면, 그 작업이 완료될 때까지 CPU는 다른 프로세스로 전환
- 우선순위가 높은 프로세스가 등장했을 때: 더 높은 우선순위를 가진 프로세스가 실행 준비가 되면, 현재 프로세스를 중단하고 우선순위가 높은 프로세스로 전환.

결론

컨텍스트 스위치는 멀티태스킹 환경에서 필수적인 기능이지만, 스위치 과정에서 발생하는 오버헤드로 인해 시스템의 성능에 영향을 줄 수 있음
따라서, 컨텍스트 스위치의 횟수와 오버헤드를 최소화하는 것이 시스템 성능 향상에 중요

728x90
반응형