스레드 컨텍스트 스위칭 vs 프로세스 컨텍스트 스위칭 속도 차이와 멀티태스킹 과정

Yunny.Log ·2023년 1월 22일
1

OS

목록 보기
8/8
post-thumbnail
post-custom-banner

스레드 컨텍스트 스위칭이 프로세스 컨텍스트보다 빠른 이유에 대해서 알아보기 !

  • 컨텍스트 스위칭이 실행되는 대상 : OS 커널 (각종 리소스를 관리 및 감독)

  • 다른 프로세스 끼리의 스위칭인지, 같은 프로세스의 스레드 간 스위칭

<공통점>

  • 커널 모드에서 실행 (프로세스가 직접 리소스 접근이 아닌 OS 단에서)
  • CPU의 레지스터 상태 교체 ( 특수목적 레지스터 - PC같은 정보 저장 & 교체)

<차이점>

  • 프로세스 컨텍스트 스위칭은 가상 메모리 주소 관련 처리(캐시(TLB 삭제, MMU 초기화 )를 추가적으로 수행합니다.

THREAD 스위칭

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

  • CPU 상태만 바꿔주는 것

CONTEXT 스위칭

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

  • CPU 상태 바꿔주고 & 메모리 관련 처리까지도 수행해줘야 합니다.

<추가되는 과정>

  • P1->P2 시
  • (1) MMU (메모리 영역) 가 P2메모리 보도록 변경하고
  • (2) TLB 비우기 (어디 접근해야하는지 정보 저장하는 캐시)

결론 : 쓰레드 스위칭은 메모리 관련 처리는 하지 않습니다.

  • 그렇기에 컨텍스트 스위칭보다 초절정 간단 가능 !

  • CPU의 상태만 바꿔주면 되는 것입니다.

post-custom-banner

0개의 댓글