- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
上海大学操作系统2复习资料
存储管理的主要功能:
地址转换(逻辑地址转为物理地址
存储器的分配和回收
存储保护
存储扩充
地址转换(重定位)
逻辑地址—物理地址;多道程序中编译程序不可能预支经编译后所得到的目标模块应放在内存何处,不能用绝对装入,要用可重定位装入。
静态转换:在装入时对目标程序中指令和数据地址进行修改
动态转换
地址转换推迟到真正执行时
静态的不允许程序运行时在内存中移动位置,动态的可以
分配方式
连续分配
单一连续分配
单个程序独占
固定分区分配
划分分区:分区大小相等、不等
内存分配:按大小排序,分区使用表
优点:能在内存中装入多道程序
缺点:存储空间浪费
动态分区分配
数据结构:空闲分区表;空闲分区链
动态分区分配算法:
顺序搜索算法(用于不太大的系统)
首次适应:空闲分区地址递增,从链首开始寻找,满足要求后切割
优点:优先利用低址,保留高址大空闲区,为以后到达的大作业分配大的内存空间创造了条件
缺点:低址部分被不断划分,留下许多难以利用的、很小的空闲分区
循环首次适应:空闲分区地址递增,从上次找到的下个空闲分区开始
优点:避免低址部分留下太多空闲分区
缺点:缺乏大的空闲分区
最佳适应:空闲分区大小递增,找到的第一个
优点:避免大材小用
缺点:每次切割剩下的都是最小的,会留下难以利用的碎片
最坏适应:找最大的一个空闲分区
优点:使剩下的空间不会太小,产生碎片的可能性最小,对中小作业有利
缺点:缺乏大的空闲分区
索引搜索算法(大中型系统)
快速适应:每一类相同容量的分区,单独设一个链表,查找时先去索引表,然后去链表取下第一块即可(可将其理解为一个菜单)
优点:提高搜索速度
缺点:分区归还主存时较为复杂;分配空闲分区时是以进程为单位的,一个分区只属于一个进程,存在浪费(以空间换空间)
伙伴系统:内容看书吧
时间性能 :劣于快速适应,优于顺序搜索
空间性能:劣于顺序搜索优于快速适应
哈希算法
直接根据分区大小利用哈希函数计算
分配内存:m.size-u.size=size
回收内存:回收区与前后空闲分区的邻接情况
动态可重定位分区分配
比动态分区增加了紧凑功能
地址变换在程序执行期间随着对每条指令或数据的访问自动进行(动态地址转换)
离散分配方式
分页存储管理:将用户程序的地址空间分为若干固定大小的区域(页)
页面:进程的逻辑地址空间分为若干页
物理块:内存的物理地址空间分为若干块
若干页装入多个可以不相邻的物理块
最后一页经常装不满,形成的碎片为“页内碎片”
页面太小
减小内存碎片,内存利用率提高
每个进程占用页面过多,页表过长,占用大量内存
降低页面换进换出的效率
页面太大
减少页表长度,提高换进换出效率
页内碎片增大
页面适中大小:2的幂,通常为1kb-8kb
页号+位移量/页内地址(一维)
页表:实现从页号到物理块号的地址映射
进程的各个页离散的存储在内存的任一物理块中
为了找到每个页面对应的物理块
地址转换机构
硬件实现的动态地址转换机构
存储保护:页表长度寄存器
执行检索前,先将页号与页表长度进行比较,若页号大于等于页表长度,则
若未发生越界错误,则将页表始址与页号*页表项长度相加,得到该表项在页表中的位置
快表
在地址变换机构中增设一个具有并行查询能力的特殊高速缓冲寄存器(快表)
快表不命中时要访问两次内存
一次访问内存中的页表,找到物理块,将块号与页内偏移量W拼接以形成物理地址
第二次从第一次得到的地址中获得所需要的数据
分段存储管理:把用户地址空间分为大小不同的若干段
为了满足用户(程序员)在编程和使用(信息共享、信息保护、动态增长、动态链接)上的要求,支持以模块为单位进行
数据结构
段表(记录该段在内存中的起始地址和段的长度)
段表可放在寄存器(提高地址转换速度)或内存(更常见)中
地址转换
段表寄存器
存储保护
进行地址变换时,系统将逻辑地址中的段号S与段表长度TL进行比较,若STL则段号太大,访问越界,产生越界中断信号
分页分段管理比较
分页 分段 大小 固定、硬件决定 不固定、程序决定 信息 信息的物理单位 独立的信息逻辑单元,更便于共享 目的 提高内存利用率 方便程序设计 逻辑地址 一维,页号+页内地址 二维,段号+段内地址
段页式管理
既有分段系统的易于实现、分段可共享、易于保护、动态链接等优点,也能像分页系统那样,很好的解决内存的外部碎片问题
先将用户程序分成若干段,再把每个段分成若干页,并为每个段赋予一个段名
逻辑地址:段号+段内页号+页内地址(二维)
数据结构:每个进程一张段表(页表地址和页表长度),每个段一张页表,位视图
地址转换:硬件(段表寄存器)实现的动态地址转换机构,访问3次内存
第一次访问内存中的段表,得到页表始址;第二次访问内存中的页表,去除该页所在的物理块号,
文档评论(0)