OS와 하드웨어
게스트도 호스트도 4단 페이지 테이블을 사용하는 중첩 페이징에서 TLB 미스가 발생했을 때, 최악의 경우 몇 번의 메모리 접근이 필요합니까?
- A8회
- B16회
- C24회
정답과 해설 보기
정답: C. 24회
게스트 페이지 테이블 4단의 각 표 위치는 게스트 물리 주소로 적혀 있으므로, 각각을 읽기 전에 호스트의 4단 표로 변환해야 합니다. 게스트의 각 단마다 '호스트 4회 + 게스트 표 1회'로 5회, 4단이면 20회이고, 마지막으로 얻은 게스트 물리 주소의 데이터 자체를 호스트의 4단으로 변환하는 4회를 더하면 24회입니다. 식으로는 (4 + 1) × (4 + 1) − 1 = 24입니다. 8회는 4단을 두 번 따라가기만 한다고 생각한 값으로, 표 위치의 변환을 놓친 것입니다.
- A. 8회는 게스트 표 위치의 변환을 놓친 값입니다.
- B. 16회는 4 × 4로 단순히 곱한 값입니다.
- C. 올바릅니다. (4 + 1) × (4 + 1) − 1 = 24회입니다.