OS와 하드웨어

게스트도 호스트도 4단 페이지 테이블을 사용하는 중첩 페이징에서 TLB 미스가 발생했을 때, 최악의 경우 몇 번의 메모리 접근이 필요합니까?

  1. A8회
  2. B16회
  3. 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회입니다.
이 분야 연습하기 분야로 돌아가기

OS와 하드웨어의 다른 문제

  1. 가상 머신의 OS가 특권이 필요한 명령을 실행했을 때 하이퍼바이저로 처리가 넘어가고, 하이퍼바이저가 그 명령의 효과를 대신 재현하는 방식을 무엇이라고 합니까?
  2. 준가상화(paravirtualization)에 대한 설명으로 올바른 것은 무엇입니까?
  3. 컨테이너와 가상 머신의 차이로 올바른 것은 무엇입니까?
  4. 많은 OS에서 커널 영역을 각 프로세스의 주소 공간 일부(예를 들어 상위 범위)에 할당해 두고, 페이지 테이블의 보호 비트로 사용자 모드에서의 접근을 금지합니다. 이 배치의 주된 이점은 무엇입니까?
  5. 페이지 크기가 4 KB일 때, 가상 주소 중 페이지 내 위치(오프셋)를 나타내는 것은 몇 비트입니까?

이 분야의 비교