虚拟存储器

1.什么是虚拟存储器

 虚拟存储器只是一个容量非常大的存储器的逻辑模型,不是任何实际的物理存储器。

  它借助于磁盘等辅助存储器来扩大主存容量,使之为更大或更多的程序所使用。

  它指的是主存-外存层次。以透明的方式给用户提供了一个比实际主存空间大得多的程序地址空间。

注意

  物理地址 由CPU地址引脚送出,用于访问主存的地址。

  虚拟地址 由编译程序生成的,是程序的逻辑地址,其地址空间的大小受到辅助存储器容量的限制。

主存-外存层次和cache-主存层次用的地址变换映射方法和替换策略是相同的,都基于程序局部性原理

它们遵循的原则是:

  ①把程序中最近常用的部分驻留在高速的存储器中。

  ②一旦这部分变得不常用了,把它们送回到低速的存储器中。

 ③这种换入换出是由硬件或操作系统完成的,对用户是透明的。

 ④力图使存储系统的性能接近高速存储器,价格接近低速存储器

两种存储系统的主要区别在于:

  在虚拟存储器中未命中的性能损失要远大于cache系统中未命中的损失。

2.主存-外存层次的基本信息传送单位

  主存-外存层次的基本信息传送单位可采用几种不同的方案:段、页或段页。

段是按照程序的逻辑结构划分成的多个相对独立部分,作为独立的逻辑单位。

  优点是段的逻辑独立性使它易于编译、管理、修改和保护,也便于多道程序共享;某些类型的段具有动

态可变长度,允许自由调度以便有效利用主存空间。

  缺点是因为段的长度各不相同,起点和终点不定,给主存空间分配带来麻烦,而且容易在段间留下许多

空余的零碎存储空间,造成浪费。

页是主存物理空间中划分出来的等长的固定区域。

  优点是页面的起点和终点地址是固定的,方便造页表,新页调入主存也很容易掌握,比段式空间浪费小。

  缺点是处理、保护和共享都不及段式来得方便。

段页式管理采用分段和分页结合的方法。

  程序按模块分段,段内再分页,进入主存以页为基本信息传送单位,用段表和页表进行两级定位管理。

 

页式虚拟存储器          

  页式虚拟存储系统中,虚拟空间分成页,称为逻辑页 ;主存空间也分成同样大小的页,称为物理页

  虚存地址分为两个字段:高字段为逻辑页号,低字段为页内行地址。

  实存地址也分两个字段:高字段为物理页号,低字段为页内行地址。

  页表中每一个虚存逻辑页号有一个表目,表目内容包含该逻辑页所在的主存页面地址(物理页号),用它作为实存地址的高字段,与虚存地址的页内行地址字段相拼接,产生完整的实主存地址,据此来访问主存。页式管理的地址变换演示

  为了避免页表已保存或已调入主存储器时对主存访问次数的增多, 把页表的最活跃部分存放在高速存储器中组成快表 。快表与慢表实现内部地址变换的方式演示

  快表由硬件组成,比页表小得多,查表时,由逻辑页号同时去查快表和慢表,当在快表中有此逻辑页号时,就能很快地找到对应的物理页号送入实主存地址寄存器,从而做到虽采用虚拟存储器但访主存速度几乎没有下降。

 

段式虚拟存储器        

  在段式虚拟存储系统中,段是按照程序的逻辑结构划分的,各个段的长度因程序而异。

  虚拟地址由段号和段内地址组成,为了把虚拟地址变换成实主存地址,需要一个段表。

   段表也是一个段,可以存在外存中,但一般是驻留在主存中

 

段页式虚拟存储器       

  段页式虚拟存储器是段式虚拟存储器和页式虚拟存储器的结合。

  它把程序按逻辑单位分段以后,再把每段分成固定大小的页。

  程序对主存的调入调出是按页面进行的,但它又可以按段实现共享和保护,兼备页式和段式的优点。

  缺点是在映象过程中需要多次查表。

  在段页式虚拟存储系统中,每道程序是通过一个段表和一组页表来进行定位的。段表中的每个表目对应一个段,每个表目有一个指向该段的页表起始地址及该段的控制保护信息。由页表指明该段各页在主存中的位置以及是否已装入、已修改等状态信息。

  如果有多个用户在机器上运行,多道程序的每一道需要一个基号,由它指明该道程序的段表起始地址。

虚拟地址格式如下:

 基号

 段号

 页号  页内地址

 

 

替换算法            

  虚拟存储器中的页面替换策略和cache中的行替换策略有很多相似之处,但有三点显著不同:

  (1)缺页至少要涉及一次磁盘存取,读取所缺的页,缺页使系统蒙受的损失要比cache未命中大得多。

  (2)页面替换是由操作系统软件实现的。

  (3)页面替换的选择余地很大,属于一个进程的页面都可替换。

  虚拟存储器中的替换策略一般采用LRU算法、LFU算法 FIFO算法,或将两种算法结合起来使用。

  对于将被替换出去的页面,假如该页调入主存后没有被修改,就不必进行处理,否则就把该页重新写入外存,以保证外存中数据的正确性。为此,在页表的每一行应设置一修改位。

 

 

 

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值