体系结构23_虚拟存储器

...系统被设计成将主存储器和后备存储器组合在一起,在程序员看来好像只有一级存储,必须进行的地址变换是自动完成的。

                                                                                                                                                           Kilburn et aL(1962)

(操作系统和相应的辅助的硬件来完成地址变换或数据的交换)

虚存系统

 由价格较贵、速度较快、容量较小的主存储器M1和一个价格低廉、速度较慢、容量很大的辅助存储器M2(通常是硬盘)组成。

 在系统软件和辅助硬件的管理下,就像一个单一的、可直接访问的大容量主存储器

 程序员可以用机器指令的地址码对整个程序统一编址,就如同应用程序员具有对应于这个地址码宽度的存储空间(称为程序空间)一样,而不必考虑实际主存空间的大小。

1.虚拟存储器的特点

     程序员可以利用巨大的逻辑空间,而不必做存储管理工作

     多个进程可以共享主存空间

     采用动态再定位,简化了程序的装入

2.虚存管理方式

    分两类:页式和段式

        页式虚存把空间划分为大小相同的块,称为页面。常用页大小为4KB~64KB

        段式虚存把空间划分为可变长的块,称为段。段最小长度为1个字节,最大因机器而异,常为2的16次方B~2的32次方B

        页面是对空间的机械划分,而段则往往是按程序的逻辑意义进行划分。

   采用页式虚存还是段式虚存对CPU有不同的影响。

       页式虚存:地址是单一的、固定长度的地址字,由页号和页内位移两部分组成。

       段式虚存:地址需要用两个字表示,一个为段号,另一个为段内位移。因为段的长度是可变的。

       段页式:每段被划分成若干个页面。既保持了段作为逻辑单位的优点,又简化了替换的实现,而且段不必作为整体全部一次调入主存,而是可以以页面为单位部分调入。

3.存储层次中Cache和虚存的对比

     虚存处于“主存-辅存”层次

     与“cache-主存”层次的相似点

          都是分块方式:cache块、页、段

          都有失效问题:cache块失效、页故障、地址故障

    与“cache-主存”层次的不同点

          失效替换:cache由硬件完成,虚存主要由OS

          处理器地址大小决定虚存大小,但与cache大小无关

          辅存除用作主存的后备存储器外,还用于文件系统(辅存上只是开辟一块作为虚存)

5.有关虚拟存储器的四个问题

     映象规则

         全相联,以降低失效率为主要目标。

     查找算法

          页表,段表,TLB

          页表和段表:索引页号或段号的数据结构,含有所要查找的块的物理地址

          段式系统:段内位移加上段的物理地址就是最终的物理地址

          页式系统:只需简单地将页内位移拼接在相应页面的物理地址之后

替换算法

    LRU

    尽可能减少页故障,OS为每个页面设置“使用位”。

写策略

    写回法

块表TLB

1.TLB(Table Look-aside buffer)

    TLB是一个专用的高速缓冲器,用于存放近期经常使用的页表项

    TLB中的内容是页表部分内容的一个副本

    TLB页利用了局部性原理

2.Alpha Axp 21064的地址转换过程

3.TLB一般比Cache的标识存储器更小、更快

进程保护和虚存实例

进程:程序呼吸所需的空气及生存的空间

1.进程保护

  (1)界地址寄存器

           基地址,上界地址

           检测条件:(基地址+地址)<= 上界地址

  (2)虚拟存储器

           给每个页面增加访问权限标识

  (3)环形保护

  (4)加锁和解锁

   

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值