컨텍스트 스위칭(Context Switching)

갱두·2021년 10월 19일
0

📚 운영체제

목록 보기
2/14

컨텍스트 스위칭

한 Task가 끝날 때까지 기다리는 것이 아니라 여러 작업을 번갈아가며 실행해서 동시에 처리될 수 있도록 하는 방법임.

멀티 프로세스 환경에서 CPU가 어떤 하나의 프로세스를 실행하고 있는 상태에서, 인터럽트 요청에 의해 다음 우선 순위의 프로세스가 실행되어야 할 때,
기존의 프로세스의 상태 또는 레지스터 값을 저장하고, CPU가 다음 프로세스를 수행하도록 새로운 프로세스의 상태 또는 레지스터 값으로 교체하는 작업을 컨텍스트 스위칭이라고 함.

✔️ 컨텍스트 ? CPU가 해당 프로세스를 실행하기 위한 프로세스들의 정보
✔️ 컨텍스트 스위칭의 주체 : OS 스케줄러
✔️ 어디에 저장 ? : 프로세스의 PCB에 저장

컨텍스트 스위칭을 할 때 CPU는 아무런 일을 하지 못함. 그래서 컨텍스트 스위칭이 잦아지면 오버헤드가 발생해 성능이 떨어짐

스레드가 더 빠른 이유

스레드는 캐시 메모리나 PCB에 저장해야 하는 내용이 적고, 비워야 하는 내용도 적기 때문에 상대적으로 더 빠른 컨텍스트 스위칭이 일어날 수 있다.

출처 : https://github.com/ksundong/backend-interview-question

profile
👩🏻‍💻🔥

0개의 댓글