OS와 하드웨어
프로세스의 컨텍스트 스위치가 레지스터를 저장하고 복원하는 시간보다 실제로는 더 큰 성능 저하를 일으키는 경우가 있습니다. 그 주된 이유는 무엇입니까?
- A전환할 때마다 CPU의 클록 주파수가 내려가기 때문에
- B전환할 때마다 프로그램을 디스크에서 다시 읽기 때문에
- C전환 후 캐시나 TLB 미스가 늘어나기 때문에
정답과 해설 보기
정답: C. 전환 후 캐시나 TLB 미스가 늘어나기 때문에
레지스터의 저장과 복원 자체는 짧은 시간에 끝나지만, 전환된 뒤의 프로세스 입장에서 캐시나 TLB의 내용은 이전 프로세스의 것이므로, 필요한 데이터나 변환 결과를 다시 읽어 들일 때까지 미스가 이어집니다. ASID가 없는 CPU에서는 주소 공간을 전환할 때 TLB를 비워야 하기도 합니다. 이 간접 비용이 직접적인 전환 시간보다 커질 수 있습니다. 클록이 내려가거나 프로그램을 디스크에서 다시 읽는 일은 없습니다.
- A. 전환으로 클록 주파수가 내려가는 것은 아닙니다.
- B. 프로그램은 메모리에 있으며 다시 읽지 않습니다.
- C. 올바릅니다. 캐시나 TLB 미스가 늘어나는 간접 비용입니다.