[운영체제] Context Switching(문맥 교환)

김성록·2023년 3월 6일
0

운영체제

목록 보기
3/14

Context Switching에 대해 설명해보세요.


Context Switching(문맥 교환)이란?

  • 문맥 교환은 CPU에서 작업 중인 프로세스를 멈추게 하고 다른 프로세스를 실행시키는 과정이다. CPU를 내어주는 프로세스의 상태를 그 프로세스의 PCB에 저장하고, CPU를 새롭게 얻는 프로세스의 상태를 PCB에서 읽어온다. 즉, PCB의 정보가 교체하는 기술이다.

  • System call이나 interrupt가 발생했다고 해서 반드시 문맥 교환이 일어나는 것이 아니고, 프로세스가 바뀌어야 문맥 교환이라고 할 수 있다.


문맥 교환의 특징

  • 어떤 처리를 하기 위해 필요한 간접적인 처리 시간 및 메모리를 Overhead(오버헤드)라고 한다. 문맥 교환이 자주 일어나면 다른 프로세스를 처리하기 위해 들어가는 시간 및 메모리가 증가하여 부담이 증가된다. 오버헤드가 잦아질수록 성능이 떨어진다.

  • 문맥 교환은 다음 시점에서 일어난다.

    • 멀티 태스킹
      : 프로세스 전환 과정에서 문맥 교환이 일어난다.

    • 인터럽트 처리
      : 인터럽트가 발생할 때 문맥 교환이 일어난다.

    • 커널 모드 및 사용자 모드 전환
      : 커널모드와 사용자 모드 사이의 전환이 일어날 때 문맥 교환이 발생할 수 있다.


결론

profile
예비 개발자

0개의 댓글