공부 기록/영상 후기
컨텍스트 스위칭 뽀개기! 의미와 종류와 왜 스레드 컨텍스트 스위칭이 더 빠르다고 하는지까지..! 이 모든 것을 시원~~하게 설명합니다!!
yurison
2023. 4. 10. 21:56
컨텍스트 스위칭(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)
유저 관점에서 컨텍스트 스위칭이란? 순수한 오버헤드