我是靠谱客的博主 平常背包,最近开发中收集的这篇文章主要介绍amd 虚拟化怎么开_虚拟化技术 - 内存虚拟化 [一],觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

b77fe570479873f70e999c571a6184fd.png

大型操作系统(比如Linux)的内存管理的内容是很丰富的,而内存的虚拟化技术在OS内存管理的基础上又叠加了一层复杂性,比如我们常说的虚拟内存(virtual memory),如果使用虚拟内存的OS是运行在虚拟机中的,那么需要对虚拟内存再进行虚拟化,也就是vitualizing virtualized memory。本文将仅从“内存地址转换”和“内存回收”两个方面探讨内存虚拟化技术。

【虚拟机内存地址转换

在Linux这种使用虚拟地址的OS中,虚拟地址经过page table转换可得到物理地址(参考这篇文章):

6a1878f4e47b1b8667a917de7ad1634f.png

如果这个操作系统是运行在虚拟机上的,那么这只是一个中间的物理地址(Intermediate Phyical Address - IPA),需要经过VMM/hypervisor的转换,才能得到最终的物理地址(Host Phyical Address - HPA)。从VMM的角度,guest VM中的虚拟地址就成了GVA(Guest Virtual Address),IPA就成了GPA(Guest Phyical Address)。

c956a78367c2d89ee77a517763d63e70.png

可见,如果使用VMM,并且guest VM中的程序使用虚拟地址(如果guest VM中运行

最后

以上就是平常背包为你收集整理的amd 虚拟化怎么开_虚拟化技术 - 内存虚拟化 [一]的全部内容,希望文章能够帮你解决amd 虚拟化怎么开_虚拟化技术 - 内存虚拟化 [一]所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部