2-操作系统存储管理.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2-操作系统存储管理

近似实现方法: 每页面设置两个硬件位:访问位和修改位,当有访问和修改时自动设置这两位为1 将内存页组成循环队列,并设置循环检测指针。 检测过程:从指针指向的页开始,依次 若两位均为0,选择该页淘汰 若访问位1,修改位0,置访问位为0 若访问位0,修改位1,置修改位为0 若访问位1,修改位1,置访问位为0 9、影响淘汰页面选择的其它因素 上述算法没有考虑页面换入换出的开销、内存使用情况。 影响页面换入换出开销的因素包括: 该页是否被修改过。 该页辅存中是否已有副本。 内存使用情况包括: 用途:缓冲区?用户使用or核心使用? 与外设通信中? 实际的系统实现考虑了这些因素。 10、淘汰页面的范围选择策略: 全局淘汰策略:从所有作业所占用的页面中选择。 局图淘汰策略:从本作业所占用的页面中选择 从效果上看:全局算法较好,可以在进程间动态分配页面。 Linux系统采用全局淘汰策略。 7、多级页表 1、背景 程序地址空间一般是由总线位数确定。32位总线的地址空间为232。 程序地址空间巨大。对应的页表也占了很大的地址空间。 假定:页大小为4096(212)字节,每个页表表项占4字节。一个进程的完整页表需要占:4*220个字节。需要占用4M的连续内存空间,比较可观。 2、多级页表的具体做法 把整个页表进行分页,分成一张张小页表,每个小页表的大小与页框相同。 对小页表顺序编号,允许小页表分散存放在不连续的页框中。 为了进行索引查找,应该为这些小页表建一张页目录表(一级页表),其表项指出小页表(二级页表)所在页框号及相关信息。 逻辑地址结构有三部分组成:页目录号、页号和位移。 3、基于多级页表的地址转换: B offset dir page offset B F 一级页表 二级页表 物理地址 逻辑地址 页目录表 控制寄存器 4、多级页表的好处和缺陷: 内存仅存放当前使用的小页表,其余暂时不用部分放在磁盘上,待用到时再行调入。 小页表占用内存空间不必连续,可分散存放。 地址转换时,CPU需要多访问一次内存:一次页目录表 + 一次小页表 + 目标内存访问。 需要用快表来解决多一次内存访问的问题。 5、多级页表实例(Linux+X86) 地址总线32位,程序地址空间232; 页目录(10位)+页号(10位)+页内偏移(12位) 页目录表中的每项4字节,正好占一页(4*210),永久在内存中。页目录表的表项中,含对应的二级页表是否在内存中的标志位。 每个页表项占4字节,每个二级页表占一页。可以换入和换出。 页表项的格式: 页面地址:12位 D位:修改位,当该页程序修改后,应纪录,为淘汰做准备。 A位:(读/写)引用位,凡对程序读写均置为已访问(accessed),淘汰时先找A=0的页面。 P位:存在位,页面在内存时,P=1。 U/S位:用户/管理员(User/Supervisor)位,若U/S=0,该页为一个管理员页面(OS页面),用户不能访问。 R/W位:读/写(Read/Write)位,R/W=1时允许页修改;R/W=0时,不允许页修改;通常程序区的R/W=0。 8、段式存储管理 1、基本思想: 用户可以根据逻辑结构将程序分成若干段,每一段的虚地址空间各自都从0开始编址,因此整个作业的虚地址空间是二维的。 主存分配以段为单位,每一个段要分配一个连续的主存分区,各个段之间不必相邻。 2、实现: 在段式存储系统中,指令的虚地址字分为段号和段内偏移两个部分: 段号s + 段内偏移d 段表:保存段号与段起始地址间的映射关系。 地址转换过程: 先由段表获得段起始地址 加上段内偏移获得真正的物理地址 3、段式和页式的对比: 段式特点: 便于应用程序的模式设计。 便于实现进程间共享内存。 段按需分配长度,没有块内“零头”。 页式特点: 没有内存碎片。 对用户完全透明。 9、段页式存储管理 思想: 将面向用户的程序地址空间分为段,系统为每一段分配和管理实际内存时再分页 段页式存储管理系统的逻辑地址可分成三个部分: 段号s 页号p 页内偏移d 为了进行地址变换,系统为每一个作业建立一张段表,再为每一段建立一张页表。同样,也有一个段表控制寄存器,存放当前作业段表的长度和始址。 地址转换过程: (1)在段表控制寄存器中获得当前运行作业的段表始址; (2)将段表始址与虚地址字中的段号(要扩大段表项长度因子)相加,得到访问段在段表中的表项地址; (3)从段表的表目项中获得该段的页表始址,并将其与虚地址字中的页号p相加,得到当前访问页的页表项地址; (4)从页表表项中得到页架号,并与虚地址字中的页内偏移拼成主存物理地址,装入地址寄存器MA; (5)根据地址寄存器中地址值访问内存。

文档评论(0)

zhuliyan1314 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档