文档详情

计算机系统结构第5节_存储系统.ppt

发布:2017-05-31约2.25万字共178页下载文档
文本预览下载声明
* $5提高主存命中率的方法 影响主存命中率的主要因素: (1)程序在执行过程中的页地址流分布情况。 (2)所采用的页面替换算法。 (3)页面大小。 (4)主存储器的容量 (5)所采用的页面调度算法 5.5 虚拟存储器 * 以下,对后三个因素进行分析。 1、页面大小与命中率的关系 页面大小为某个值时,命中率达到最大。 页面大小与命中率关系的解释: 假设At和At+1是相邻两次访问主存的逻辑地址,d=|At-At+1|。 如果d<Sp,随着Sp增大,At和At+1在同一页面的可能性增加,即H随着Sp的增大而提高。 5.5 虚拟存储器 * 如果d>Sp,At和At+1一定不在同一个页面内。随着Sp增大,主存页面数减少,页面替换更加频繁。H随着Sp的增大而降低。 当Sp比较小的时候,前一种情况是主要的,H随着Sp的增大而提高。当Sp达到某一个最大值之后,后一种情况成为主要的,H随着Sp的增大而降低。 5.5 虚拟存储器 * 当页面大小 增大时,造 成的浪费也 要增加。 当页面大小 减小时,页 表和页面表 在主存储器 中所占的比例将增加 5.5 虚拟存储器 * 2、主存容量与命中率的关系 主存命中率H随着分配给该程序的主存容量S的增加而单调上升。 在S比较小的时候,H提高得非常快。随着S的逐渐增加,H提高的速度逐渐降低。当S增加到某一个值之后,H几乎不再提高。 5.5 虚拟存储器 * 5.5 虚拟存储器 * 3、页面调度方式与命中率的关系 请求式:当使用到的时候,再调入主存 预取式:在程序重新开始运行之前,把上次停止运行前一段时间内用到的页面先调入到主存储器,然后才开始运行程序。 5.5 虚拟存储器 * 预取式的主要优点: 可以避免在程序开始运行时,频繁发生页面失效的情况。 预取式的主要缺点: 如果调入的页面用不上,浪费了调入的时间,占用了主存的资源。 5.5 虚拟存储器 5.6 进程保护和虚拟存储器实例 在多道程序中,计算机资源可以被多道同时运行的用户程序所共享。 为使系统能够正常工作,应防止由于一个用户程序出错而破坏主存中其他用户的程序和数据,还要防止一个用户不合法地访问主存中不是分配给它的存储区域而造成对系统的破坏,即使这种访问不会引起破坏也是不允许的。 操作系统和系统结构需要为存储系统的安全提供保护手段。 5.6.1 进程保护 保证进程的正确和安全运行既是系统设计者也是操作系统设计者的责任。 保护的手段主要是:将主存区域分为几个区域,使得主存中可以同时存放多个不同进程的状态;并对每个存储区域进行保护,使一个进程的信息不被另一个进程所修改。 存储系统的保护分为: (1)存储区域的保护,可用一对寄存器(即界限寄存器)来检查每一个地址,以确保地址在两个界限之间。 (2)访问保护,由系统软件设置用户进程访存的地址上下界,禁止了访问越界。 5.6.1 进程保护(续1) 在虚拟存储系统中,由于用户程序的访问空间映射到主存后将不是一个连续的地址空间,而将分布在主存中的各个页面,因此不适用以上述保护方式。 在虚拟存储系统中,将采用更细微的方法: (1)映射表保护法,利用映射表的映射关系来限制用户程序的访问地址空间,用户程序不能访问映射表上找不到的主存页面,从而起到保护作用。 (2)键保护,由操作系统根据主存使用分配的情况,给主存中的每一页分配一个存储键,相当于保护锁。所有页的存储键是在主存相应的快速寄存器内,当用户访问这些页面时,需要一个访问键,相当于钥匙,来打开这把锁。 5.6.1 进程保护(续2) (3)环保护,把系统程序和用户程序按其重要性及其访问权限进行分层。最内的几层是系统程序的分层,之外的几层是同一用户程序的分层,保护级别由里向外逐层降低。 5.6.2 Alpha 21064存储管理 Alpha处理机的系统结构采用段页相结合的方式,既提供了存储保护,又将页表减少到最小。 Alpha根据64位地址的最高两位将地址空间分为3个段:seg0(最高位63位为0),seg1(最高两位63和62位都为1)和kseg(最高位63位为1,次高位62位为0)。 其中,seg0用于存储用户代码和堆,seg1用作用户栈,kseg是操作系统内核段。 kseg是留给操作系统内核使用的,并且整个空间具有相同的保护权限,不需要存储管理。 seg0和seg1是用户进程使用的,它们所映射到的各个页面具有不同的保护权限。 5.6.2 Alpha 21064存储管理(续1) seg0段和seg1段的布局结构 5.6.2 Alpha 21064存储管理(续2) 为使页表大小更合理,Alpha采用三级分层页表
显示全部
相似文档