- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统的存储管理功能
陈天楚 0112922
2011.11.03
存储管理应当做些什么?
为程序按需分配连续的内存空间
当程序结束运行时,回收被程序占用的内存
提供必要的保护机制,防止程序与程序之间、程序与操作系统之间互相冲突
对物理内存进行逻辑上的扩充,使操作系统能够运行内存需求比物理内存大得多的程序。
固定分区存储管理
把内存划分成固定大小的分区
每个分区最多只放一个程序
程序申请内存时,选择一个空闲的区域
缺点:
同时运行的程序总数受到限制
不能进行“按需分配”
需要的空间大于分区大小时无法分配
需要的空间小于分区大小时造成浪费
动态分区存储管理
不事先建立分区
程序申请内存时,寻找一段连续的空闲内存,并建立分区
程序结束时,删除对应的分区
比固定分区更灵活
提高了内存利用率
存在碎片问题
碎片问题?
0
32MB
程序1
(8MB)
程序2
(8MB)
程序3
(8MB)
程序4
(12MB)
存在足够的空间,却无法满足程序的要求
如何解决?
逻辑地址?
逻辑地址的范围不受内存总容量的限制
逻辑地址和物理内存可以存在对应关系
逻辑上连续的地址,对应的物理内存地址可以不连续
不同的程序,可以拥有不同的逻辑地址空间
页式存储管理
把物理分成等长的若干个区域,称为物理页面
把逻辑地址空间分为若干个同样长度的逻辑页面
每个物理页面和逻辑页面都按顺序从0开始进行编号
一个物理/逻辑地址可以表示为物理/逻辑页号+页内的相对地址
为每一个运行中的程序建立一张页表,描述物理页面与逻辑页面之间的对应关系
页表
逻辑页号
物理页号
0
A1
1
B2
2
A9
3
C0
...
...
页式存储管理
在程序执行的过程中,会动态进行逻辑地址到物理地址的转换
逻辑地址 = 逻辑页号+页内地址
页表 + 逻辑页号 = 物理页号
物理页号 + 页内地址 = 物理地址
用物理地址访问内存
页式存储管理
不要求数据在物理内存连续存放,有效地解决了碎片问题
逻辑地址与物理内存没有直接的对应关系,便于实现内存扩充功能
不同的程序之间相同的数据可以在相同的物理页面中存储,节省了内存空间
缺点:
需要硬件支持,增加成本
虽然消除了碎片,但是最后一页的数据还是不能得到充分利用
存储管理的保护功能
分区式存储管理
设置程序所能访问内存的上下界
页式存储管理
在页表中设置权限(只读,读写,可执行...)
页式存储管理的扩充功能
局部性原理:
在几乎所有的程序执行过程中,在一段时间内,CPU总是集中访问内存中的某一部分,而不是对内存中的所有部分具有相等的访问概率
是否可以把目前不需要用到的部分保存在外存中?
交换技术
交换技术:
将内存与外存结合起来
当前需要的数据,保留在内存中
其他部分根据需要在内、外存间交换
什么时候交换?如何交换?
交换技术
当程序访问一个逻辑地址,而逻辑地址所指向的页面不在内存中时:
处理器暂停程序的运行,进入操作系统的缺页处理程序
寻找物理内存中的一块空闲区域
将所需的页面从外存中调入该区域内
修改页表,恢复程序的运行
内存满时怎么办?
页面淘汰
物理内存满时,选择物理内存中的一个页面,将其“淘汰”,写回至外存中
淘汰哪个页面?
随机选择?
先进先出算法(FIFO)
最近最少使用算法(LRU)
最近最不经常使用算法(LFU)
思考
分区式存储管理能实现内存扩充功能吗?
感谢观看~~
文档评论(0)