Context Switch

Jin._.·2024년 1월 20일

🎈Context Switch란?

컨텍스트 스위치는 CPU가 한 작업에서 다른 작업으로 전환하는 프로세스를 의미한다.
다중 작업 환경에서 여러 프로세스 또는 스레드를 교차로 실행하여 시스템의 활용도를 높이기 위해 사용된다.

✨작동 원리

  1. 현재 상태 저장: 현재 실행 중인 프로세스의 상태(레지스터, 프로그램 카운터 등)를 저장한다.
  2. 다음 상태 복원: 다음에 실행할 프로세스의 상태를 불러와 복원한다.
  3. 제어권 전환: CPU의 제어권을 새로운 프로세스로 전환하여 실행을 시작한다

✨성능 영향

  • 오버헤드: 컨텍스트 스위치는 추가적인 오버헤드를 발생시킨다. 빈번한 스위치는 성능에 부정적인 영향을 미칠 수 있다.
  • 시스템 부하: 다수의 프로세스나 스레드가 경쟁적으로 CPU를 요청할 경우, 컨텍스트 스위치가 빈번하게 발생하여 시스템 부하를 초래할 수 있다.

✨Context Switch 최적화

  • 스레드 풀 활용: 스레드 풀을 통해 스레드의 재사용을 통해 컨텍스트 스위치를 최적화할 수 있다.
  • 커널 모드 감소: 사용하지 않는 시간에는 커널 모드를 최소화하여 오버헤드를 줄일 수 있다.

🎆컨텍스트 스위치와 프로그래밍

  • 비동기 프로그래밍: 비동기적인 작업을 활용하여 블로킹을 최소화하고, 컨텍스트 스위치를 효율적으로 관리할 수 있다.
  • 스레드 관리: 스레드의 수와 관리를 효율적으로 조절하여 오버헤드를 최소화한다.
profile
노력하고 성장하는 공간입니다.

0개의 댓글