- 1、本文档共98页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第04章存储管理祥解.ppt
手工地址变换过程 手工地址变换过程 1、将逻辑地址线性分割求出页号P和页内位移W: 逻辑地址以十进制数给出: 页号P=逻辑地址 % 页大小 页内位移W=逻辑地址 mod 页大小 逻辑地址以十六进制、八进制、二进制的形式给出: 将逻辑地址转换成二进制; 按页的大小分离出页号P和位移量W(低位部分是位移量,高位部分是页号); 将位移量直接复制到内存地址寄存器的低位部分; 以页号查页表,得到对应页装入内存的块号B,将块号转换成二进制数填入地址寄存器的高位部分,从而形成内存地址。 机器内部的变换过程 * * * * * * * * * * */93 4.4.7 工作集模型 工作集模型中的存储器管理策略遵循下面两条规则: 每次引用时,会确定当前的工作集,而且只有属于工作集的页面才能留在内存。 当且仅当进程的整个当前工作集都驻留在内存中时,一个进程才可以运行。 */93 4.4.7 工作集模型 Windows 2000 实现了一种页面置换机制,它结合了工作集模型和时钟算法。 这种置换是局部的,系统为每个进程维护了一个当前工作集。系统指定了一个最小尺寸工作集和一个最大尺寸工作集。最小尺寸的值一般是20~50个物理块;最大尺寸的值一般是45~345个物理块。 每次缺页时,会通过把引用到的页面添加到集合中而增加进程的工作集,直至达到最大值。此时,如果有新的页面请求,必须要从工作集中移出一个页面。 从工作集中移出哪个页面,使用了模拟LRU算法和时钟算法的一个变种。每个物理块有一个使用位u和一个计数器count。每当访问到页面时,使用位被硬件置位。当在工作集中寻找一个要移出的页面时,工作集管理器会扫描工作集中的页面的使用位。每次扫描过程中,它执行下面的操作: if (u==1) { u = 0 ; count =0 ; } else count ++; 在扫描结束时,它会移出count值最大的页面。因此,只要一个页面经常被引用,它的count值将比较小,而不会被移出。 */93 4.8 虚拟段式分配 虚拟段式分配又称为请求分段,它类似于虚拟页式分配,在程序装入时,只需调入几个分段而不是所有的分段。随着程序的运行,如果需要访问的段不在内存,可以请求操作系统把需要的段调入内存。 */93 4.8.1 请求分段中的硬件支持 段号 段长 中断位 段基址 外存地址 引用位 修改位 保护位 增补位 中断位:标识该段在内存还是外存 外存地址:标识该段处于外存的地址 引用位:标识一段被使用的频繁程度 当一段在内存中被修改,就需要设置该位 保护位:记录段的存取控制信息 增补位:请求分段管理段表中特有的一项。段的长度是变化的,当一段的长度在内存中改变后,如果被置换出去,原位置可能无法存放。 */93 4.8.2 地址变换机构 请求分段存储管理的地址变换与纯分段系统的地址变换基本相同,不同之处是要通过中断位来判断一段是否在内存。如果在内存,根据段号查找段表中对应的段的起始地址——段基址。段基址与段内地址的和即为物理地址。如果不在内存,发出一个缺段中断,请求操作系统把段调入内存。 */93 4.8.3 缺段中断 阻塞请求进程 虚段s不在内存 在内存中有合适的空闲区吗 从外存读入段s 修改段表及内存空闲区链 唤醒请求进程 内存区空闲容量总和能满足吗 空闲区紧凑,以形成一个合适的空闲区 淘汰一个或几个内存中的段,形成一个合适空闲区 返回 请求分段系统中的缺段中断处理过程 y y n n */93 4.9 段页式分配方式 分段和分页都有各自的优势。分页对程序员来说是透明的,它消除了外部碎片,因而可以更有效地使用主存。此外,由于换入和换出主存的页是固定的、大小相等的,因而有可能开发出更精致的存储管理算法。分段对程序员是透明的,它具有处理不断增长的数据结构的能力,对段的共享及保护操作容易,支持动态链接等优势。把它们二者的优点结合起来,就形成了非常具有优势的“段页式存储管理”方式。 */93 4.9.1 段页式分配的原理 主程序段 0 4K 8K 12K 15K 16K 子程序段 0 4K 8K 数据段 0 4K 8K 12K 10K (a)一个作业地址空间的结构 段号(s) 段内页号(p) 页内偏移量(w) (b)段页式地址结构的组成 图4.29 作业地址空间和地址结构 */93 4.9.2 段页式分配的地址变换 页号p 页内偏移量w 段表始址 段表长度 = 越界中断 + 段页式存储的地址变换机构 段号s 0 1 2 3 基址 段号 页表 长度 页表 + n 1 块号 页号 0 1 2 块内偏移量 块号 */93 4.9.3分段和分页的结合:Intel Pentium Pentium的虚拟存储器采用段页式存储管理
文档评论(0)