- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七讲 存储器管理 中国科学技术大学计算机系 陈香兰 xlanchen@ustc.edu.cn 2013Fall 内容提要 存储器的层次结构 程序执行的基础知识、程序的装入和链接 连续分配存储管理方式 分页存储管理方式 分段存储管理 段页式存储管理 连续内存分配方式(contiguous memory allocation) Reading: Operating System Concepts,p284- 连续分配存储管理方式 单一连续 固定分区 动态分区 对换 内存通常被划分为两个分区(partitions): 系统区:常驻操作系统,通常位于内存低端 用户区:提供给用户(进程)使用,常位于内存高端 连续内存分配是指:从用户区中为每个进程分配一个单独的、连续的内存空间。 主要有以下两种方式 单一连续分配方式 多分区式分配方式 固定分区式 动态分区式(可变分区式) 单一连续分配方式 最简单 只能用于单用户、单任务系统 存储保护机制 存储管理单元,MMU 或者不采用任何存储保护机制 出于信任,或采用再启动方式, 多分区式分配方式 支持多道程序, 用户区被进一步划分为若干个分区 每一个分区装载一个进程 多道程序度与分区的个数有关 根据分区大小是固定的还是可变的 固定分区方式 大小固定;等大小 or 不等大小 动态分区方式(可变分区方式) 动态可变:内存的划分是动态的,分区的大小随进程的大小确定,分区的数目随系统的运行而不断变化 固定分区分配方式 支持多道程序,用于60年代IBM-360的MFT中 分区的划分方法,两种 等大小 不等大小 但分区的大小一旦确定就不再发生变化 分配算法: 按大小顺序建立分区使用表 缺点 内存利用率低 定义:内部碎片和外部碎片 内部碎片:已经分配出去但得不到利用的存储区域 外部碎片:不能被利用的小分区 解决方案:动态分区 动态分区分配方式 能根据进程实际需要的内存大小,动态分配 能减少内部碎片 关键 数据结构:记录内存的使用情况,特别是空闲内存 分配算法 分配和回收操作 数据结构 空闲分区表,占用额外的空间 空闲分区链,利用空闲分区 分区分配算法 在将一个新作业装入内存时,要从空闲分区表或空闲分区链中,选出一个分区分配给该作业,有三种常见的分配算法 首次适应算法FF:First Fit 循环首次适应算法 最佳适应算法:Best Fit=smallest 最差适应算法:Worst Fist =largest 分区分配操作 分配 设请求的分区大小为u.size; 利用某种分配算法,找到待分配的分区,大小为m.size 根据上述分区分配算法,有m.sizeu.size 判断m.size-u.size与min_size的大小min_size为事先约定的最小分区大小 ,分割,分割出来的分配出去,余下的加入空闲数据结构 否则,直接分配 将分配到的分区的首地址返回 可以看出,动态分区分配方式中内部碎片最大不超过min_size 回收,要考虑合并 向前合并 只需修改前一个空闲分区表项中的大小 向后合并(图) 只需修改后一个空闲分区表项中的起始地址和大小 与前后同时合并 修改前一个空闲分区表项中的大小,并取消后一个分区表项 无相邻空闲分区,无需合并 建立一个新的表项,填写相关信息,插入 上述过程中,根据链表的维护规则,可能需要调整相应表项在空闲链表中的位置 动态分区分配分析 随着分配的进行,空闲分区可能分散在内存的各处 尽管有回收,但内存仍然被划分的越来越碎,形成大量的外部碎片 解决方案之一:紧凑Compaction 针对外部碎片:采用紧凑的方法 紧凑:通过移动进程在内存中的位置,把多个分散的小分区拼成大分区 需要动态重定位技术支持 动态重定位分区分配算法:引入紧凑和动态重定位技术的动态分区分配算法 基本与动态分区分配算法相同 Swapping 对换 最早用于MIT的CTSS中 单用户+时间片+对换 对换是指把内存中暂时不能运行的进程,或暂时不用的程序和数据,换出到外存上,以腾出足够的内存空间,把已具备运行条件的进程,或进程所需要的程序和数据,换入内存 能提高内存利用率 对换的单位: 进程:整体对换;进程对换 页、段:部分对换 对换技术需要实现三个方面的功能 对换空间的管理 进程的换出 进程的换入 Backing store,对换空间 Fast disk, large enough to accommodate copies of all memory images for all users; must provide direct access to these memory images. 为提高速度,考虑连续分配方式,忽略碎片问题 需提供数据结构对空闲盘块进行管理 方法类似
您可能关注的文档
最近下载
- 中国地图可填色可编辑PPT模板.pptx VIP
- 桂林理工大学2020-2021学年第1学期《高等数学(上)》期末考试试卷(B卷)及标准答案.pdf
- 原神-芙宁娜角色演示PV曲-世界皆舞台 高清钢琴谱五线谱.docx VIP
- C100028【冲刺】2024年东北电力大学0808Z1电力经济与管理《882电力市场》考研学霸狂刷.pdf VIP
- 个人参加城乡居民基本医疗保险信息登记表.xls VIP
- IMO新要求(MEPC66会议决议及通函).pptx VIP
- 第五单元任务三《记叙与动物的相处》课件 统编版语文七年级上册.pptx VIP
- QHTS01-2020 氩—二氧化碳混合气体气瓶充装规定.pdf VIP
- 2024朝阳辅警考试试题.docx VIP
- 0.136%赤 吲乙 芸苔可湿性粉剂在葡萄上的应用效果研究-来源:现代农业科技(第2020005期)-安徽省农业科学院.pdf VIP
原创力文档


文档评论(0)