컨텍스트 스위칭(context switching)

이다혜·2024년 1월 18일
0

영상후기

목록 보기
9/12

📌 컨텍스트 스위칭이란?

CPU/코어에서 실행 중이던 프로세스/스레드가 다른 프로세스/스레드로 교체되는 것

여러 프로세스/스레드를 동시에 실행시키기 위해 필요하다.

  • 주어진 time slice를 다 사용했을 때
  • 다른 프로세스나 스레드가 이미 사용하고 있는 리소스를 기다려야 할 때
  • IO 작업을 해야할 때

💡 컨텍스트(context)란?


프로세스/스레드의 상태

📌 프로세스 컨텍스트 스위칭 vs 스레드 컨텍스트 스위칭

공통점

  1. 통제권이 커널에 넘어가서 커널 모드에서 실행된다.

  2. CPU의 레지스터 상태를 교체한다.

차이점

프로세스 컨텍스트 스위칭은 메모리 주소 체계가 다르기 때문에 가상 메모리 주소 관련 처리를 추가로 수행한다.

스레드 컨텍스트 스위칭

같은 프로세스에 속하는 스레드 사이의 컨텍스트 스위칭

  • 스레드들이 같은 메모리 공간을 공유하기 때문에, 각 스레드 간에 메모리 주소 변환과 같은 작업을 수행하지 않고 CPU의 상태 정보만을 변경하면 돼서 빠르다.

프로세스 컨텍스트 스위칭

서로 다른 프로세스에 속하는 스레드 사이의 컨텍스트 스위칭

0개의 댓글