schedulerregistercpu-state

컨텍스트 스위칭이 무엇이고 왜 비용이 드나요?

예상 시간
6
30초 답변

꼬리질문

조금 더 깊게 물어본다면

답변 뒤에 이어질 수 있는 질문들을 하나씩 열어볼 수 있어요.

프로세스 전환과 스레드 전환 중 어떤 것이 더 비싼가요?

부가 설명

한 작업만 계속 돌릴 수 있다면 전환 비용은 거의 고민하지 않아도 됩니다. 하지만 실제 OS는 여러 프로세스와 스레드가 CPU를 나눠 써야 합니다. 사용자는 동시에 실행되는 것처럼 보지만, CPU 입장에서는 짧은 시간 단위로 작업을 바꾸며 진행합니다.

문제는 전환 자체가 계산 결과를 만드는 일이 아니라는 점입니다. 상태 저장과 복원, 스케줄러 판단, 캐시 locality 손실이 누적되면 CPU 사용률은 높아 보이는데 실제 요청 처리량은 기대보다 낮아질 수 있습니다. 그래서 스레드 수를 무작정 늘리는 설계는 조심해야 합니다.

한 줄 정리

컨텍스트 스위칭은 CPU 실행권을 넘기기 위한 상태 저장·복원 과정이고, 전환 자체가 일종의 오버헤드입니다.