컨텍스트 스위칭이 뭔데? 왜 더 빠르다고 하는 거야?

Y39·2023년 4월 8일
0

toBeProgrammer

목록 보기
88/88

Context Switching

: CPU/core 에서 실행중인 process/thread가 다른 것으로 교체되는 것

  • 필요이유
    • 여러 작업을 동시에 실행시키기 위해서
  • 언제 발생하나?
    • 주어진 time slice를 다 썼음
    • IO 작업을 기다려야함
    • 다른 리소스를 기다려야함
  • Context란?
    • process/thread의상태 (CPU, memory)
  • 누가 실행하나?
    • OS 커널: 컴퓨터의 각종 리소스를 제어하는 역할

Thread Context Switching

  • 정의
    • 같은 process의 thread끼리의 스위칭

Process Context Swtiching

  • 정의
    • 다른 process끼리의 스위칭

공통점

  • 둘다 커널 모드에서 실행됨
  • CPU의 레지스터 상태를 교체
    • process/thread의 상태 정보를 저장해 놓는 것.

차이점

  • Process Context Swtiching은 가상 메모리 주소 관련 처리를 추가로 해야함

Thread Context Switching가 빠른이유

  • 가상 메모리 변경이 없기 떄문에
profile
System.out.print("Bold")

0개의 댓글