内存管理——虚拟内存
来源:互联网 发布:淘宝首页自定义优惠券 编辑:程序博客网 时间:2024/05/16 13:59
虚拟内存提供了一种假象,使进程认为它们可以使用比计算机固有的内存更多的内存。因此虚拟内存系统中有2种地址:被进程引用的地址、在主存中的地址。被进程引用的地址成为虚拟地址,在主存中的地址叫做物理地址。
当进程访问一个虚拟地址时,系统必须把它转换为真实地址。这种转换工作非常频繁,若用通用处理器来执行这样的转换,将会严重降低系统性能。因此,虚拟内存系统含有专用硬件,即内存管理单元(memory management unit,MMU),它可以将虚拟地址快速映射为真实地址。
动态地址转换(dynamic address translation,DAT)机制在运行期间把虚拟地址转换为物理地址。使用动态地址转换的系统具有以下特性:进程的虚拟地址空间中的连续地址在物理内存空间中不一定是连续的,即所谓的假临近(artificial contiguity)。
动态地址转换必须维护地址转换表,指明处理器虚拟地址空间(V)的哪些区域当前在主存中,以及位于哪里。这种映射必须包含V中每个地址的记录,那么映射信息将需要比主存更多的空间,因此这是不可行的。实际上,映射信息量只能占主存的很小一部分,否则它会占用操作系统和用户进程所需的太多内存。
最广泛采用的方案是对信息按块进行分组,然后系统跟踪每个虚拟内存放在主存的什么地方。块的平均大小越大,映射信息量越小。然而,更大的块可能导致内部分段,使辅助存储器和主存直接需要更长的传输时间。
至于信息块的大小,应该全部相同,或者可以有不同大小,也有一些讲究。如果块有一个固定的大小(或几个固定大小),则把它们成为页(page),相关的虚拟内存组织叫做分页(paging)。如果块可以有不同的大小,则把它们叫做段(segment),相关的虚拟内存组织叫做分段(segmentation)。
- 内存管理——虚拟内存
- [操作系统概念]第六部分——内存管理(3):虚拟内存
- 3、操作系统内存管理——段页式(虚拟内存)
- 内存(包括虚拟内存)管理
- 操作系统 内存管理-虚拟内存
- 内存管理---物理内存、虚拟内存
- 操作系统——虚拟内存管理
- 存储管理——虚拟内存
- 深入探讨操作系统的内存管理——虚拟内存与物理内存
- 物理地址,虚拟内存,linux内存管理....
- 内存管理之虚拟内存篇
- 内存管理之虚拟内存篇
- 内存管理之虚拟内存篇
- 操作系统管理内存的机制——为什么要设置虚拟内存?
- 操作系统管理内存的机制——为什么要设置虚拟内存?
- 操作系统管理内存的机制——为什么要设置虚拟内存?
- 操作系统管理内存的机制——为什么要设置虚拟内存?
- 操作系统管理内存的机制——为什么要设置虚拟内存?
- 2013年元旦,大家都在做什么呢
- 计算几何的一些模版
- 动态规划专项intermediate:UVa 11766
- 一种灵活的WPF程序多国语言支持
- 第一个用struts2处理中文的例子
- 内存管理——虚拟内存
- Edit Control 控件自动换行
- WPF中DataTemplate基本原理与缺陷分析
- 伪随机数
- 安装Joomla/模板/第三方扩展时注意事项
- Xcode 遇到的问题
- MAX Plus II 仿真波形图为红色 解决方案
- Java开发中字符编码转换
- 数据库的运算----选择,投影,连接