728x90
반응형
컨텍스트 스위치(Context Switch)
CPU가 현재 실행 중인 프로세스 또는 스레드에서 다른 프로세스 또는 스레드로 전환하는 과정
이 과정에는 현재 실행 중인 프로세스의 상태(컨텍스트)를 저장하고, 새로운 프로세스의 상태를 불러와서 CPU가 이어서 작업을 수행할 수 있도록 하는 작업이 포함
컨텍스트 스위치는 다음과 같은 상황에서 발생
- Time Slice가 끝났을 때: 운영체제가 각 프로세스에 할당한 시간이 끝나면 다음 프로세스로 전환
- I/O 요청이 있을 때: 프로세스가 I/O 작업을 요청하면, 그 작업이 완료될 때까지 CPU는 다른 프로세스로 전환
- 우선순위가 높은 프로세스가 등장했을 때: 더 높은 우선순위를 가진 프로세스가 실행 준비가 되면, 현재 프로세스를 중단하고 우선순위가 높은 프로세스로 전환.
결론
컨텍스트 스위치는 멀티태스킹 환경에서 필수적인 기능이지만, 스위치 과정에서 발생하는 오버헤드로 인해 시스템의 성능에 영향을 줄 수 있음
따라서, 컨텍스트 스위치의 횟수와 오버헤드를 최소화하는 것이 시스템 성능 향상에 중요
728x90
반응형
'C++' 카테고리의 다른 글
#include <tlhelp32.h> Error: identifier "CreateToolhelp32Snapshot" is undefined 오류 해결 방법 (0) | 2024.04.25 |
---|---|
[MongoDB] 외부 연결 설정안될 때 해결법 (0) | 2024.04.12 |
[C++] 멀티 스레드, 멀티 프로세스 (1) | 2024.03.17 |
[C++] 조건문, 스위치문을 줄이기 의한 방법 (0) | 2024.03.16 |
[CPP] 분할 구현 (0) | 2024.03.15 |