-
카테고리
-
세부 분야
취업 · 이직
-
해결 여부
미해결
Context Switching은 언제 발생하나요?
22.05.09 16:23 작성 조회수 230
1
강의 잘 듣고 있습니다!! 궁금한 점이 하나 생겨 여쭤봅니다!
프로세스 간 context switching과 스레드 간 context switching이 비용도 다르고 조금 다르게 동작하는 것 같은데요.
각각 어느 경우에 발생하는 건지가 궁금합니다! 프로세스 스레드 구분없이 CPU 배분 시간?이 끝나면 발생하게 되는건가요?
답변을 작성해보세요.
1
개발남노씨
지식공유자2022.05.10
안녕하세요 JS님
아래와 같이 3개의 쓰레드가 실행되고 있다고 가정을 해볼게요.
A 프로세스의 1, 2 쓰레드
B프로세스의 3 쓰레드
CPU가 하나뿐이라 하나의 쓰레드밖에 실행을 할 수 없는 상황입니다.
1 -> 3 -> 2 -> 1 -> 2 -> 3 -> 2 -> 1
이런순서로 context switching이 발생한다고 해보면 분홍색 부분이 프로세스간 context switching, 초록색부분이 쓰레드간 context switcing이겠죠!
1 -> 3 -> 2 -> 1 -> 2 -> 3 -> 2 -> 1
즉, 프로세스 스레드 구분없이 cpu scheduling에 의해 (예를들어 CPU 배분시간이 끝난경우) context switch가 발생하고, 어느 쓰레드에서 어느 쓰레드로 변경되냐에 따라서 프로세스 context switching이냐 쓰레드 context switcing이냐가 결정되는 것 뿐입니다.
질문에 대한 답이 됐을까요!?
답변 1