[영상후기]컨텍스트 스위칭 뽀개기! 의미와 종류와 왜 스레드 컨텍스트 스위칭이 더 빠르다고 하는지까지..! 이 모든 것을 시원~~하게 설명합니다!!

박철현·2023년 4월 10일
0

영상후기

목록 보기
86/160

movie

  • 컨텍스트 스위칭 : CPU/코어에서 실행중이던 프로세스/스레드가 다른 프로세스/스레드로 교체되는 것

  • 쓰레드 : CPU나 코어에서의 실행되는 기본 단위

  • 컨텍스트 : 프로세스/스레드의 상태(CPU(resisters 등), 메모리 등)

  • 컨텍스트 스위칭은 왜 필요한가? 여러 프로세스/스레드를 동시에 실행하기 위함

  • 컨텍스트 스위칭은 언제 발생하는가? 주어진 time slice(quantum)을 다 사용했거나 IO 작업을 해야하거나, 다른 리소스를 기다려야 하거나 등

  • 컨텍스트 스위칭은 OS 커널(각종 리소스를 관리/감독하는 역할)
    -> 커널 : OS의 핵심적인 기능 담당(여러 리소스 관리 감독)

  • 컨텍스트 스위칭 과정
    1) 다른 프로세스끼리 스위칭(프로세스 컨텍스트 스위칭)
    2) 같은 프로세스의 스레드들끼리 스위칭(쓰레드 컨텍스트 스위칭)

  • 공통점
    1) 커널 모드에서 실행
    2) CPU의 레지스터 상태를 교체

  • 차이점 : 프로세스 컨텍스트 스위칭(다른 프로세스에 있는 스레드 간)은 가상 메모리 주소 관련 처리를 추가로 수행
    -> MMU(Memory Manage Unit) : 새로운 프로세스의 주소체계를 바라볼 수 있도록
    -> TLB : 가상 메모리 주소와 실제 물리적 메모리 주소 맵핑 정보를 가지고 있는 캐시를 비워줘야 함

  • 스레드 컨텍스트 스위칭이 더 빠른 이유는 ? 메모리 주소 관련 처리는 하지 않기 때문(같은 메모리 공간 공유, CPU 상태정보만 바꿔주면 됨)

  • 컨텍스트 스위칭이 미치는 간접적인 영향 : 캐시 오염
    -> 컨텍스트 스위칭된 직후에 캐시에 접근해도 필요한 정보가 없을 가능성이 큼(같은 프로세스에 속한 스레드 간 컨텍스트 스위칭의 경우 가능성이 조금 큼)
    -> 프로세스 컨텍스트 스위칭을 할 때 캐시 자체를 날리는 CPU도 있음

  • 유저 관점에서 컨텍스트 스위칭? 순수한 오버헤드

profile
비슷한 어려움을 겪는 누군가에게 도움이 되길

0개의 댓글

Powered by GraphCDN, the GraphQL CDN