- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1
存储管理
第 3 章
3.1 无存储器抽象
3.2 一种存储器抽象:地址空间
3.3 虚拟内存
3.4 页面置换算法
3.5 分页系统中的设计问题
3.6 有关实现的问题
3.7 分段
2
存储管理
每个程序员都梦想的内存:
容量无限大
速度无限快
永久性
分层存储器体系
快速、昂贵且易失性的高速缓存( cache )
速度和价格都适中,且同样易失的内存(main memory)
低速、廉价、非易失性的磁盘存储(disk storage )
操作系统中管理分层存储器体系的部分称为存储管理器
3
无存储器抽象
内存组织的三种简单方法
- 在只有操作系统和一个用户进程的情形下
4
在不使用内存抽象的情况下运行多道程序
保护键技术
静态重定位技术
5
一种存储器抽象:地址空间
保护和重定位
内存抽象:地址空间
是一个进程可用于寻址内存的一套地址集合
基址寄存器与界限寄存器(动态重定位)
易提供私有地址空间
需要频繁的进行加法和比较运算
6
交换技术(1)
处理内存超载的两种方法:
交换技术
虚拟内存
7
交换技术 (2)
内存分配情况随着
进程进入内存
进程离开内存
阴影区域表示未使用的内存
操作系统
操作系统
操作系统
操作系统
操作系统
操作系统
操作系统
时间
8
Swapping (3)
为可能增长的数据段预留空间
为可能增长的数据段和堆栈段预留空间
操作系统
操作系统
A程序
A数据
A堆栈
B堆栈
B数据
B程序
为增长预留的空间
为增长预留的空间
为增长预留的空间
为增长预留的空间
实际使用的空间
实际使用的空间
9
空闲内存管理-使用位图的存储管理
一段有5个进程和3个空闲区的内存
刻度表示内存分配的单元
阴影区域表示空闲
对应的位图
用空闲链表表示的同样的信息
10
使用链表的存储管理
结束进程X时与相邻区域的四种组合
X终止之前
X终止之后
变成
变成
变成
变成
11
内存分配算法
首次适配算法(First fit)
下次适配算法(Next fit)
最佳适配算法(Best fit)
最差适配算法(Worst fit)
快速适配算法(Quick fit)
12
12
【 动态分区分配算法分类】
顺序搜索法
分类搜索法—快速适配算法
分区分配算法
首次适配算法
循环首次适应算法(下次适配算法)
最佳适配算法
最差适配算法
13
1)首次适配算法:
① 空闲区按地址大小升序链成队列;.
② 分配时从队首开始查到第一个满足要求的空闲区进行分配
分配2k,S1满足要求,余S1’=3k
优点: 尽量分配低地址部分,保留内存高端空闲区不被分割,以便运行大作业.
缺点: 分配时可能查遍整个队列.
14
2) 循环首次适配算法(下次适配算法):
空闲区按地址大小升序链成环形队列.
从上次分配的分区后面开始查找.
作业申
请2k
回收时,有相邻空闲区要合并
优点: 碎片均匀分布在队列中,回收时合并机率大
缺点: 大空闲区难以保留,不利于大作业。
15
3)最佳适配算法:
被分割的空闲区最接近作业大小,空区按大小为序链成队列
较大的空闲分区可以被保留
作业需要9k,只分割S3,不破坏S4。
优点: 总是能把满足要求、又是最小的空闲分区分配给作业。
缺点: 分配后剩余部分总是最小,存储器中会留下很多难以利用的小空闲区。
16
4)最坏适配算法:
将所有的空闲分区按其容量从大到小的顺序形成一空闲分区链,查找时只要看第一个分区能否满足作业要求。
剩下的空闲区不至于太小,产生碎片的几率最小
作业需要9k,分割S1,还剩11k,可能还可满足另一作业的需求。
优点: 产生碎片几率最小;对中、小作业有利;查找效率最高。
缺点: 缺乏大的空闲分区。
17
5)快速适应算法:
将所有的空闲分区按其容量大小进行分类,对于每一类具有相同容量的所有空闲分区,单独设立一个空闲分区链表。这样,系统中存在多个空闲分区链表,同时在内存中设立一张管理索引表,该表的每一个表项对应了一种空闲分区类型,并记录了该类型空闲分区链表表头的指针。
18
优点: 查找效率高;不会产生分区分割;不产生碎片,也能满足大作业的要求。
缺点: 回收分区时算法复杂,系统开销较大。分区只属于一个进程,因此在为进程所分配的一个分区中,或多或少地存在一定的浪费。空闲分区划分越细,浪费越严重。
是典型的以空间换时间的方法。
19
19
矛盾:
一方面:在内存中的某些进程由于某事件尚未发生而被阻塞运行,但它却占用了大量的内存空间,甚至有时可能出现在内存中所有进程都被阻塞而迫使CPU停止下来等待的情况;
另一方面:却又有着许多作业在外存上等待,因无内存而不能进入内存运行的情况。
解决的办法:引入Swapping(交换)技术。
交换:把内存中暂时不
文档评论(0)