内存虚拟化技术

简介: 大型操作系统(比如Linux)的内存管理的内容是很丰富的,而内存的虚拟化技术在OS内存管理的基础上又叠加了一层复杂性,比如我们常说的虚拟内存(virtual memory),如果使用虚拟内存的OS是运行在虚拟机中的,那么需要对虚拟内存再进行虚拟化,也就是vitualizing virtualized memory。

内存虚拟化技术

 

内容介绍:

大型操作系统(比如Linux)的内存管理的内容是很丰富的,而内存的虚拟化技术在OS内存管理的基础上又叠加了一层复杂性,比如我们常说的虚拟内存(virtual memory),如果使用虚拟内存的OS是运行在虚拟机中的,那么需要对虚拟内存再进行虚拟化,也就是vitualizing virtualized memory

 

 

一、内存虚拟化挑战面临的挑战

1、操作系统要求内存地址从0开始

 

2、操作系统要求内存地址是连续的

(1)低段内存连续

(2)连续内存管理更高效

(3)使用 superTLB 加速访问效率

(4)内存重映射技术

image.png


二、MMU 虚拟化技术

MMU 是内存管理单元的缩写

1、Direct page table

(1)Guest and Hypervisor 共享页表

(2)广泛应用于 XenLinux32

(3)优点:切换效率高

(4)缺点:安全性必须用过审计保证

 

2、Virtual TLB

(1)相对简单

(2)只能处理访问过的虚拟地址

(3)效率低

 

3、Shadow page table

(1)不需要需改内核

(2)效率较低


4、Extend page table

 

5、对比

image.png

 

 

相关文章
|
3月前
|
KVM 虚拟化
KVM的热添加技术之内存
文章介绍了KVM虚拟化技术中如何通过命令行调整虚拟机内存配置,包括调小和调大内存的步骤,以及一些相关的注意事项。
79 4
KVM的热添加技术之内存
|
4月前
|
存储 Linux 调度
OpenStack如何支持虚拟化技术?
【8月更文挑战第21天】
222 0
|
2月前
|
存储 分布式计算 分布式数据库
云计算和虚拟化技术
云计算是指把计算资源、存储资源、网络资源、应用软件等集合起来,采用虚拟化技术,将这些资源池化,组成资源共享池,共享池即是“云”。
146 64
|
29天前
|
存储 持续交付 虚拟化
|
3月前
|
KVM 虚拟化
虚拟化技术概述及KVM环境安装
关于虚拟化技术概述及KVM环境安装的教程,涵盖了虚拟化的定义、分类、管理工具,以及KVM的系统需求、安装步骤和使用指南。
83 11
虚拟化技术概述及KVM环境安装
|
4月前
|
存储 运维 虚拟化
Docker技术概论(1):Docker与虚拟化技术比较
Docker技术概论(1):Docker与虚拟化技术比较
166 17
Docker技术概论(1):Docker与虚拟化技术比较
|
3月前
ARM64技术 —— MMU处于关闭状态时,内存访问是怎样的?
ARM64技术 —— MMU处于关闭状态时,内存访问是怎样的?
|
4月前
|
Devops 虚拟化 Docker
DevOps 中的标准虚拟化技术
【8月更文挑战第27天】
60 5
|
4月前
|
存储 监控 Linux
在Linux中,如何进行虚拟化技术的应用?
在Linux中,如何进行虚拟化技术的应用?
|
5月前
|
网络虚拟化 数据中心 虚拟化