컨텍스트 스위칭 (Context Switching)

Woosung Kim·2022년 1월 10일
0

Context Switching (문맥전환)

메인 메모리에 프로세스가 여러 개 있을 때 CPU가 할당하는 프로세스를 전환 하는 것

  • Scheduler : 실행 준비가 되어 있는 메모리 내의 프로세스 중에서 선택하여, 이들 중 하나에게 CPU를 할당한다.
  • Dispatcher : CPU 코어의 제어를 CPU 스케줄러가 선택한 프로세스에 주는 모듈이며 다음과 같은 작업을 포함한다.
    • 한 프로세스에서 다른 프로세스로 문맥을 교환하는 일
    • 사용자 모드로 전환하는 일
    • 프로그램을 다시 시작하기 위해 사용자 프로그램의 적절한 위치로 이동(jump)하는 일

Context Switching의 과정

  1. 실행 중이던 프로세스의 상태(문맥)를 PCB에 보관
  2. 새로운 프로세스의 PCB에서 문맥(Context)을 복원해 레지스터에 적재
  3. 새로운 프로세스 실행

PCB에서 정보를 저장하고 가져오는 과정에서 CPU는 아무것도 할 수가 없음 → 따라서 많은 Context Switching이 일어나면 Overhead가 발생함

profile
개발하는 강아지

0개의 댓글