计算机操作系统教程第四(张尧学著)清华大学出社剖析.ppt

计算机操作系统教程第四(张尧学著)清华大学出社剖析.ppt

  1. 1、本文档共103页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 但是,如果不能正确地将那些系统所需要的局部段放入内存的话,则显然系统的效率会大大降低,甚至无法有效地工作。 试验表明,任何程序在局部性放入时,都有一个临界值要求。当内存分配小于这个临界值时,内存和外存之间的交换频率将会急剧增加,而内存分配大于这个临界值时,再增加内存分配也不能显著减少交换次数。这个内存要求的临界值被称为工作集。如图5.35所示。 图5.35 内存与交换次数的关系 一个进程执行过程中缺页(missing page)的发生有两种可能。一种是并发进程所要求的工作集总和大于内存可提供的可用区。这时,系统将无法正常工作,因为缺乏足够的空间装入所需要的程序和数据。另一种可能性是,虽然存储管理程序为每个并发进程分配了足够的工作集,但系统无法在开始执行前选择适当的程序段和数据进入内存。这种情况下,只能依靠执行过程中,当CPU发现所要访问的指令或数据不在内存时,由硬件中断后转入中断处理程序,将所需要的程序段和数据调入。这是一种很自然的处理方法。 当给进程分配的内存小于所要求的工作集时,由于内存外存之间交换频繁,访问外存时间和输入/输出处理时间大大增加,反而造成CPU因等待数据空转,使得整个系统性能大大下降,这就造成了系统抖动。 可以利用统计模型进一步分析工作集与抖动之间的关系: 设r为CPU在内存中存取一个内存单元的时间,t为从外存中读出一页数据所需时间,p(s)为CPU访问内存时,所访问的页正好不在内存的概率,这里s是当前进程在内存中的工作集。 显然,在虚存情况下存取一个内存单元的平均时间可描述为T=r+p(s)*t。 由程序模拟可知,p(s)=ae-bs。 这里,0a1b,ae-bsr。 另外,假定内存中各并发进程具有相同的统计特性,而且对于一个并发进程来说,只有发生缺页时才变成等待状态。这是为了简化讨论而忽略了外部设备和进程通信功能的存在。 由于访问外存一个页面的速度为t,且缺页发生的概率为p(s),则在处理机访问一个内存单元的r时间内,平均每秒引起的内外存之间页传送率为p(s)/r。也就是每r/p(s)秒需要从外存向内存传送一页。从而,对于一个在虚存范围内执行的进程,它可以处于三种可能的状态之中,即: (1) t < r/p(s) (2) t > r/p(s) (3) t=r/p(s) 第一种情况,由于页传送速度大于访问外存页面的速度,因此,进程在执行过程中发生缺页的次数较少,并不经常从外存调页。 在第二种情况时,由于内外存之间的页面传送速度已经小于访问外存页面速度,因此,进程在执行过程中发生缺页的次数已经多到外存供不应求的地步。事实上,这时的系统已处于抖动状态。 第三种情况是一种较理想的情况,即进程在执行过程中所需要的页数正好等于从外存可以调入的页数。此时该进程在内存中占有最佳工作集。 根据以上讨论可知,一个进程在内存中占有最佳工作集的条件是: p(w)=r/t 这里,r是CPU访问内存单元所需平均时间,t是访问外存一个页面所需平均时间。 因为p(w)可表示为p(w)=ae-bw 从而有,w=(1/b)ln(at/r) 即,与内存存取速度r相比,若外存传送速度越慢,所需工作集就越大。 当然,上面讨论是在作了许多近似的情况下得出的结论。事实上,由于各进程所包含的程序段多少,选用的淘汰算法等不一样,工作集的选择也不一样。一般来说,选择工作集有静态和动态两种选择方法,这里不再进一步介绍。 另外,由以上讨论,我们可以找出解决抖动问题的几种关键办法。 抖动只有在tr/p(s)时才会发生。而p(s)等于ae-bs是一个与工作集s、参数a和b有关的概率值。p(s)是可以改变的。对于给定的系统来说,t和r则是一个很难改变的数字。显然,解决抖动问题的最关键办法是将p(s)减少到使t=r/p(s)。这只需要: 增加s,也就是扩大工作集,或是 改变参数a和b,也就是选择不同的淘汰算法以解决抖动问题 即,与内存存取速度r相比,若外存传送速度越慢,所需工作集就越大。 在物理系统中,为了防止抖动的产生,在进行淘汰或置换时,一般总是把缺页进程锁住,不让其换出,而调入的页或段总是占据那些暂时得不到执行的进程所占有的内存区域,从而扩大缺页进程的工作集。UNIX System Ⅴ中就是采用的这种方法。 比较几种存储管理方法所提供的功能和所需硬件支持 习 题 5.1 存储管理的主要功能是什么? 5.2 什么是虚拟存储器,其特点是什么? 5.3 实现地址重定位的方法有哪几类?形式化地描述动态

您可能关注的文档

文档评论(0)

三四五 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档