- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
存储管理的基本原理
内存管理方法
内存管理主要包括内存分配和回收、地址变换、内存扩充、内存共享和保护等功能。
下面主要介绍连续分配存储管理、覆盖与交换技术以及页式与段式存储管理等基本概念和原理。
1. 连续分配存储管理方式
连续分配是指为一个用户程序分配连续的内存空间。连续分配有单一连续存储管理和分区式储管理两种方式。
(1)单一连续存储管理
在这种管理方式 中,内存被分为两个区域:系统区和用户区。应用程序装入到用户区,可使用用户区全部空间。其特点是,最简单,适用于单用户、单任务的操作系统。CP/M和 DOS 2.0以下就是采用此种方式。这种方式的最大优点就是易于管理。但也存在着一些问题和不足之处,例如对要求内存空间少的程序,造成内存浪费;程序全部装 入,使得很少使用的程序部分也占用—定数量的内存。
(2)分区式存储管理
为了支持多道程序 系统和分时系统,支持多个程序并发执行,引入了分区式存储管理。分区式存储管理是把内存分为一些大小相等或不等的分区,操作系统占用其中一个分区,其余的 分区由应用程序使用,每个应用程序占用一个或几个分区。分区式存储管理虽然可以支持并发,但难以进行内存分区的共享。
分区式存储管理引 人了两个新的问题:内碎片和外碎片。前者是占用分区内未被利用的空间,后者是占用分区之间难以利用的空闲分区(通常是小空闲分区)。为实现分区式存储管 理,操作系统应维护的数据结构为分区表或分区链表。表中各表项一般包括每个分区的起始地址、大小及状态(是否已分配)。
分区式存储管理常 采用的一项技术就是内存紧缩(compaction):将各个占用分区向内存一端移动,然后将各个空闲分区合并成为一个空闲分区。这种技术在提供了某种程 度上的灵活性的同时,也存在着一些弊端,例如:对占用分区进行内存数据搬移占用CPU~t寸间;如果对占用分区中的程序进行“浮动”,则其重定位需要硬件 支持。
1)固定分区(nxedpartitioning)。
固定式分区的特点 是把内存划分为若干个固定大小的连续分区。分区大小可以相等:这种作法只适合于多个相同程序的并发执行(处理多个类型相同的对象)。分区大小也可以不等: 有多个小分区、适量的中等分区以及少量的大分区。根据程序的大小,分配当前空闲的、适当大小的分区。这种技术的优点在于,易于实现,开销小。缺点主要有两 个:内碎片造成浪费;分区总数固定,限制了并发执行的程序数目。
2)动态分区(dynamic partitioning)。
动态分区的特点是 动态创建分区:在装入程序时按其初始要求分配,或在其执行过程中通过系统调用进行分配或改变分区大小。与固定分区相比较其优点是:没有内碎片。但它却引入 了另一种碎片——外碎片。动态分区的分区分配就是寻找某个空闲分区,其大小需大于或等于程序的要求。若是大于要求,则将该分区分割成两个分区,其中一个分 区为要求的大小并标记为“占用”,而另一个分区为余下部分并标记为“空闲”。分区分配的先后次序通常是从内存低端到高端。动态分区的分区释放过程中有一个 要注意的问题是,将相邻的空闲分区合并成一个大的空闲分区。
下面列出了几种常用的分区分配算法:
首先适配法(nrst-fit):按分区在内存的先后次序从头查找,找到符合要求的第一个分区进行分配。该算法的分配和释放的时间性能较好,较大的空闲分区可以被保留在内存高端。但随着低端分区不断划分会产生较多小分区,每次分配时查找时间开销便会增大。
下次适配法(next-fit):按分区在内存的先后次序,从上次分配的分区起查找(到最后{区时再从头开始},找到符合要求的第一个分区进行分配。该算法的分配和释放的时间性能较好,使空闲分区分布得更均匀,但较大空闲分区不易保留。
最佳适配法(best-fit):按分区在内存的先后次序从头查找,找到其大小与要求相差最小的空闲分区进行分配。从个别来看,外碎片较小;但从整体来看,会形成较多外碎片优点是较大的空闲分区可以被保留。
最坏适配法(worst- fit):按分区在内存的先后次序从头查找,找到最大的空闲分区进行分配。基本不留下小空闲分区,不易形成外碎片。但由于较大的空闲分区不被保留,当对内存需求较大的进程需要运行时,其要求不易被满足。
2.覆盖和交换技术
引入覆盖 (overlay)技术的目标是在较小的可用内存中运行较大的程序。这种技术常用于多道程序系统之中,与分区式存储管理配合使用。覆盖技术的原理很简单, 一个程序的几个代码段或数据段,按照时间先后来占用公共的内存空间。将程序必要部分(常用功能)的代码和数据常驻内存;可选部分(不常用功能)平时存放在 外存(覆盖文件)中,在需要时才装入内存。不存在调用关系的模块不必同时装入到内存,从而可以相互覆盖。覆盖技术的缺点是编程时必须划分程序模块和确定程 序模块之间的覆盖
您可能关注的文档
- 关於农村青年男女相亲调查.doc
- 关注加油员职业健康.doc
- 关注学情理性舍弃.doc
- 关注学生的心灵成长4.doc
- 关爱女性.灵璧二医院帮您解除“意外烦恼.doc
- 关爱学生,铸造师魂.doc
- 关礼杰经纪人(关礼杰经纪公司).doc
- 关羽是如何走上神坛被尊为武圣的.docx
- 关联公司人格混同,外部债务承担连带责任.doc
- 关联词和句式转换练习.doc
- 2022-2023学年福建省莆田二十五中八年级(下)期末数学试卷(含解析).pdf
- 2019年苏教版下册二年级语文补充习题答案 (I) .pdf
- 2022年上海市黄浦区第十中学中考三模物理试题(含答案解析) .pdf
- 2020年广西南宁三中初中部大学区中考数学三模试卷(附答案详解) .pdf
- 2019版必修中外历史纲要上册第25课人民解放战争导学案(无答案.pdf
- 2021年(初级)银行从业资格模拟试题6篇 .pdf
- 2022初级银行从业资格之初级银行业法律法规与综合能力高分题库附精品.pdf
- 2022年威海职业学院单招语文模拟试题(附答案解析) .pdf
- 2021年湘教版九年级化学(上册)月考月考试卷(附答案) .pdf
- 2022-2023学年广西南宁二中学数学八年级第一学期期末学业质量监测模拟试 .pdf
最近下载
- 五四制初中一年级中华优秀传统文化教学设计.pptx VIP
- 《微生物与健康》课件科学六年级上册.pptx
- 七年级上册生物学《生物体的结构层次》单元作业设计.docx
- 电子信息工程职业规划 (第二版).pptx VIP
- 党的二十届三中全会精神测试题300道(单选、多选、判断、填空).docx VIP
- 部编教材年级识字课教学.ppt VIP
- 贵州省贵阳市2024-2025学年高一上学期10月联合考试(一) 数学 PDF版含解析.pdf
- 基于Android的个人生活行为记录及习惯养成平台的设计与实现-毕业设计.doc
- 中国传媒大学-节目主持艺术基础(第二版)-课件.pptx
- 纤维增强复合材料在建筑工程结构加固中的应用(经济论文资料).doc
文档评论(0)