三、虚拟内存 页面置换

现代需要运行的程序往往大到内存无法容纳,而且必须能够支持多个程序同时运行,及时内存可以满足其中一个单独的程序的要求,但总体来看仍然超出了内存大小。而交换技术由于磁盘速度的限制,也不是一个非常好的方法。

在早起计算时代(20世纪60年代)采用的方法:把程序分割成许多片段,称为覆盖。程序开始时,将覆盖管理模块装入内存,该模块负责在运行时动态地调入覆盖0、1、2……并决定是获取空闲区还是占用已使用的区域放置要调入的覆盖n。一般由操作系统动态地换入换出覆盖,但是程序员必须把程序分割成段。这是一项非常费时且易出错的操作。因此有人找到把全部工作交给计算机去做的办法----虚拟内存。

虚拟内存的基本思想是:每个进程拥有自己的地址空间,这个空间被分割成多个块,每一块被称作一页或页面。每一页有连续的地址范围,这些页被映射到物理内存,但并不是所有的页都必须在内存中才能运行进程。当进程需要用到不再物理内存的地址空间时,操作系统负责将缺失的部分装入物理内存。

分页

大部分虚拟内存系统中都使用一种称为分页的技术。形如进程执行指令:MOV REG,1000。这些由进程产生的地址称为虚拟地址,他们构成了一个虚拟地址空间。在没有虚拟内存的计算机上,系统直接将虚拟地址送到内存总线,读写操作使用具有同样地址的物理内存;在使用虚拟内存的情况下,虚拟地址先被送到MMU(内存管理单元),MMU把虚拟地址映射为物理内存地址。

虚拟地址空间按照固定大小划分成称为页面的若干单元,在物理内存中对应的单元称为页框。现有系统中页大小一般为512字节到

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值