虚拟内存机制



 内存页
  为便于管理内存空间,操作系统将内存空间按一定大小分块,以块为单位管理,每一块称为一页。
 页面文件
  硬盘上的用于暂存和置换应用程序内存数据的“虚拟内存”文件
 页面置换
  物理内存中长期未使用的闲置页面被调度到硬盘页面文件以释放物理内存空间,提高效率。
线性地址和映射页表:
系统给程序分配一个虚拟的线性地址,线性地址并未完全映射实际对应的物理内存地址,前2G映射的是操作系统相关的,程序不可申请自用。映射原理则是由系统所维护的一个页表机制来保证的,存于线性地址前2G。系统维护一个页目录,对应线性地址的高10位,即可以通过高10位线性地址+偏移来获取页表信息。每一个页表可以映射4*1024*1024字节空间,对于在这4K的内存页上的寻址可以用线性地址高20位+偏移的方法来实现。而内存页就是实实在在的物理内存了。程序中寻址过程就是通过这一套页表映射机制来锁定具体物理内存地址的。
内存和硬盘协调:
由于内存容量是有限的,但是我们需要运行多个程序,为了能够高效地使用内存,就有了虚拟内存机制,跟按需分配有点类似。每个程序指挥分配一定大小的内存,其中存储实时需要的数据,而其他暂时不用的数据就存储在硬盘的页面文件中。当需要的数据所在的页面未在物理内存页上时,操作系统会将页面文件中的对应页置换到物理内存上,从而使得数据可用。虚拟内存通过映射等机制可为每个程序分配更大的且连续的工作空间,使得运行更多更大的应用程序成为可能,还提高了内存的使用效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值