본문 바로가기

공부 기록/영상 후기

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

https://youtu.be/Xh9Nt7y07FE

컨텍스트 스위칭(Context switching) : CPU/코어에서 실행 중이던 프로세스/스레드가 다른 프로세스/스레드로 교체되는 것(스레드 교체 => 다른 프로세스의 스레드로 교체)

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

컨텍스트 스위칭이 필요한 이유 : 여러 프로세스/스레드를 동시에 실행시키기 위해서

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

컨텍스트 스위칭은 누구에 의해 실행되는가? OS 커널(kernel). 각종 리소스를 관리/감독하는 역할

컨텍스트 스위칭은 구체적으로 어떤 과정으로 일어나는가? 다른 프로세스끼리의 스위칭인지 같은 프로세스의 스레드들끼리의 스위칭인지에 따라 다르다. => 각각 Process context switching, Thread context switching이라고 함

Process context switching, Thread context switching의 공통점 : 커널 모드에서 실행, CPU의 레지스터 상태를 교체

Process context switching, Thread context switching의 차이점 : 프로세스 컨텍스트 스위칭은 가상 메모리 주소 관련 처리를 추가로 수행

컨텍스트 스위칭이 미치는 간접적인 영향 : 캐시 오염(cache pollution)

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