컨텍스트 스위칭(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)
유저 관점에서 컨텍스트 스위칭이란? 순수한 오버헤드
'공부 기록 > 영상 후기' 카테고리의 다른 글
(2부) DB MVCC 이어서 설명합니다 ! MySQL & postgreSQL 예제와 함께 확인해 보세요 ! (feat. select ... for update) (0) | 2023.04.11 |
---|---|
(1부) DB MVCC 개념 설명합니다 ! MVCC가 각각의 isolation level에서 어떻게 동작하는지도 MySQL & postgreSQL 예제와 함께 설명합니다 (0) | 2023.04.11 |
[10분 테코톡] 나봄의 CORS (0) | 2023.04.10 |
[10분 테코톡] 멍토의 Blocking vs Non-Blocking, Sync vs Async (0) | 2023.04.10 |
[10분 테코톡] 제이의 Spring AOP (0) | 2023.04.09 |