网站大量收购独家精品文档,联系QQ:2885784924

汤小丹 操作系统 第四版 第四章 课件.ppt

  1. 1、本文档共126页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(2) 进程换出过程。 对进程换出时,只能换出非共享的程序和数据段。进行换出时,应先申请对换空间,若申请成功,就启动磁盘,将该进程的程序和数据传送到磁盘的对换区上。若传送过程未出现错误,便可回收该进程所占用的内存空间,并对该进程的进程控制块和内存分配表等数据结构做出相应的修改。   2. 进程的换入   对换进程将定时执行换入操作,它首先查看PCB集合中所有进程的状态,从中找出“就绪”状态但已换出的进程。当有许多这样的进程时,它将选择其中已换出到磁盘上时间最久(必须大于规定时间,如2?s)的进程作为换入进程,为它申请内存。如果申请成功,可直接将进程从外存调入内存;如果失败,则需先将内存中的某些进程换出,腾出足够的内存空间后,再将进程调入。 总结: 由于交换一个进程需要很多的时间,因此,对于提高处理机的利用率而言,它并不是一个非常有效的解决方法。 目前用的较多的对换方案是,在处理机正常运行时,并不启动对换程序。但如果发现有许多进程在运行时经常发生缺页且显现出内存紧张的情况,才启动对换程序,将一部分进程调至外存。如果发现所有进程的缺页率都已明显减少,而系统的吞吐量已下降时,可暂停运行对换程序。 ?    4.5 分页存储管理方式 连续分配方式会形成许多“碎片”,通过“紧凑”方法将碎片拼接成可用的大块空间,但须为此付出很大开销。根据离散分配时所用基本单位的不同,又可把离散分配方式分以下三种:   (1) 分页存储管理方式。   (2) 分段存储管理方式。   (3) 段页式存储管理方式。 4.5.1 分页存储管理的基本方法 (1)页面和物理块 页面:将一个进程的逻辑地址空间分成若干个大小相等的片 物理块:把内存空间分成与页面相同大小的若干个存储块 (2)页面大小 页面若太小,一方面虽然可使内存碎片减小,从而减少内存碎片的总空间,有利于提高内存的利用率。但也会使每个进程占用较多的页面。从而导致进程的页表过长。 页面若太大,可以减少页表的长度,提高页面换出换进的速度,却会使页面内碎片增大。因此,页面大小应是2的幂,通常为1KB—8KB。   2. 地址结构   分页地址中的地址结构如下:地址长度为32位,其中0—11位为页内地址,即每页的大小为4KB;12—31位为页号,地址空间最多允许有1M页。   对某特定机器,其地址结构是一定的。若给定一个逻辑地址空间中的地址为A,页面的大小为L,则页号P和页内地址d可按下式求得: 例如:系统页面大小为1KB,设A=2170B,则可以求得P=2,d=122。   3. 页表   在分页系统中,允许将进程的各个页离散地存储在内存的任一物理块中,为保证进程仍然能够正确地运行,即能在内存中找到每个页面所对应的物理块,系统又为每个进程建立了一张页面映像表,简称页表。 图4-14 页表的作用 4.5.2 地址变换机构   为了将用户地址空间中的逻辑地址转换为内存空间中的物理地址,设置了地址变换机构。由于页内地址和物理地址是一一对应的(页面大小是1KB的页内地址是0-1023,其相应的物理块内的地址也是0-1023),因此,地址变换机构的任务实际只是将逻辑地址中的页号转换为内存中的物理块号,有因为页面映射表的作用就是用于实现从页号到物理块号的变换,因此,地址变换任务是借助于页表来完成的。 1. 基本的地址变换机构   进程在运行期间,需要对程序和数据的地址进行变换,即将用户地址空间中的逻辑地址变换为内存空间中的物理地址,由于它执行的频率非常高,每条指令的地址都需要进行变换,因此需要采用硬件来实现。页表功能是由一组专门的寄存器来实现的。一个页表项用一个寄存器。 图4-15 分页系统的地址变换机构 例:某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB。假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下: 则逻辑地址0A5C(H)所对应的物理地址是什么?要求:写出主要计算过程。 首先要知道页式存储管理的逻辑地址分为两部分:页号和页内地址。 逻辑地址= 页号+页内地址d 物理地址= 块号*块长度( 等于页面长度 L )+页内地址; 页号: p = lnt( 逻辑地址 A / 页面长度 L ); 页内地址:d = 逻辑地址 A % 页面长度 L (取余) 分析题:已知:用户编程空间共32个页面,2?5 = 32 得知页号部分占5位,由“每页为1KB”,1K=2^10,可知页内地址占10位。 由“内存为16KB”,2^4=16得知块号占4位。 逻辑地址0A5C(H)所对应的二进制表

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档