OS와 하드웨어
중첩 페이징(2단 주소 변환)을 사용한 가상화에서 하드웨어가 수행하는 주소 변환에 대한 설명으로 올바른 것은 무엇입니까?
- A가상 머신 OS의 페이지 테이블만 따라가고 하이퍼바이저의 표는 사용하지 않는다
- B게스트 가상 → 게스트 물리 → 호스트 물리의 2단으로 변환한다
- C하이퍼바이저가 모든 메모리 접근을 가로채 소프트웨어로 한 번씩 변환한다
정답과 해설 보기
정답: B. 게스트 가상 → 게스트 물리 → 호스트 물리의 2단으로 변환한다
가상 머신의 OS는 자신이 관리하는 물리 주소(게스트 물리 주소)가 실제 메모리라고 생각하지만, 실제로는 하이퍼바이저가 할당한 다른 위치에 있습니다. 중첩 페이징에서는 하드웨어가 게스트의 페이지 테이블로 게스트 물리 주소까지 변환하고, 다시 하이퍼바이저의 표로 호스트의 물리 주소까지 변환합니다. 게스트가 페이지 테이블을 고쳐 쓸 때마다 하이퍼바이저가 개입할 필요가 없어집니다. 모든 접근을 소프트웨어로 변환해서는 너무 느립니다.
- A. 하이퍼바이저의 표도 사용하여 2단으로 변환합니다.
- B. 올바릅니다. 게스트 가상 → 게스트 물리 → 호스트 물리의 2단으로 변환합니다.
- C. 모든 것을 소프트웨어로 변환하면 너무 느립니다.