- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统设计与实现;第四章 存储器管理;; ;操作系统存储管理目的 用户对内存的使用要求;操作系统存储管理的任务
前提: 引入多道程序设计技术,满足用户要求; 内存分配表
位示图表示法:用一位(bit)表示一个空闲页面(0:空闲,1:占用);; 确定分配算法
实施内存分配
回收内存
分配回收方式: 静态分配与动态分配;2. 存储共享;3. 存储保护与安全;存储保护;一般由硬件提供一对寄存器:
基址寄存器:存放起始地址
限长寄存器:存放长度
( 上界寄存器/下界寄存器);地址映射
BA=1000;;***重定位和保护; 原因: 当程序装入内存时, 操作系统要为该程序分配一个合适的内存空间,由于程序的逻辑地址与分配到内存物理地址不一致, 而CPU执行指令时,是按物理地址进行的,所以要进行地址转换。;动态重定位;4.1 基本的内存管理;4.1.1无交换和分页的单道程序; 对于A图,操作系统位于主存最底部的RAM,即随机存取存储器中,用户程序位于主存的上部。
对于B图,操作系统位于主存最高端的只读存储器里(ROM), (其实本身属于一种映像区域,映像了主板上的基本的输入输出系统)。
对于C图,设备的驱动程序位于内存最高端的ROM中,操作系统的其余部分位于低端的RAM中,中间是用户的应用程序。如MS-DOS系统。
对于IBM操作系统,系统位于ROM中的部分即为BIOS。; 对于这种方式,不管是哪一个图,操作系统每次把需要的程序从磁盘复制到存储器里并执行,当程序结束时,系统提示结束,当有新的命令时,系统加载新的程序到存储器中,覆盖原来的程序,继续新的执行。
可以满足早期一般的小型的操作系统的需求,但随着硬件性能的提高,这种方式逐渐被淘汰。;4.1.2 固定分区的多道程序;分区4
分区3
分区2
分区1
操作系统; 对于左图,由于作业的大小类似的时候,而且众多的作业大小都类似,而此时分区的大小固定,我们该选择合适大小的分区来运行这个作业,这样的话,类似的作业就被分到了一起,而那些与作业的大小不一致的分区,就必然会出现空闲状态,那些分到一起的进程却不得不等待,等待要分到内存空间。忙得忙,闲的闲。
如分区一和分区三。; 对于右图,所有的作业都被放入一个队列,每次当有分区被释放的时候,就从等待队列中寻找,最适合这个分区大小的进程,这样做是为了避免把大的分区分给那小的作业,免得资源被浪费,但这样却常常把小的作业推到了后面;但对于操作系统,我们做普通的要求就是简单的操作能被最快的反馈给我们,即小的作业能够被最快的处理,因此,为了总能够满足用户的这个要求,一般要专门保证总有一个小的分区,专门来处理那些小的事件、作业,免得被大的作业抢去分区。
或者通过加权来判断作业被推后的次数,到了一定的程度,就不再跳过而是立即执行。;4.2 交换;OS;OS; 上图中的内存分配与固定分区的不同,它是一种可变分区的内存分配,这时内存中的分区的数目和大小都是在随时随着进程的变化而变化的。
实际上,内存空间在不断划分的时候,本身的分布也在变化的越来越复杂,越来越不便于管理。
迫切需要一个机制去整理这个零碎的空间。即空闲区域的合并内存紧缩。(低效的操作,耗时);****新的问题;****新问题的解决带来的矛盾:;OS;4.2 .1 使用位图的内存管理; 对于位图方法,位图的大小与内存的大小和分配的单位的大小相关,内存不变时,被分配的单个单元越小,则位图就越大。
位图的组织结构简单,便于管理,且占用的内存很小但也有缺陷:定位的速度受限,由于每个位图单元代表一个被分配的单元,所以连续性不强,对于某个需要几个分配单元大小的进程就很难快速在位图中找到这样连续的空间。故实际不很常用。;4.2 .2 使用链表的内存管理;A; 对于这种内存的组织和管理方法,我们需要讨论如何用合理的方法来为新创建的进程和新换进来的进程分配大小:
**最简单的分配算法—最先匹配算法(first fit)
存储管理器沿内存段链表从头开始寻找足够的空间来装载进程,除非找到的这个区域的大小刚好和进程相同,否则就要把这个空间拆为两部分,一部分来装进程,另一部分依然为空。
属于快速算法,搜索的开销很小。;**最先匹配的变形—下次匹配法(next fit)
工作方式与首次适配相同,区别在于每次搜索完毕后记录当前的位置,下次搜索时从此处开始搜索。(缺点:较大的空闲分区不易保留)
**最佳匹配算法(best fit)
每次搜索整个链表中最适合该进程大小的内存空间,没有完全相同就
您可能关注的文档
最近下载
- 家政讲师师资培训课件.ppt
- 细菌群体感应信号分子及其检测方法.docx VIP
- 【基于企业作业成本法的企业成本控制研究的国内外文献综述4000字】.docx VIP
- 2025年中级注册安全工程师之安全生产技术基础题库(考试直接用).docx VIP
- 10.2捍卫国家利益课件.pptx VIP
- 2025年中级注册安全工程师之安全生产技术基础题库及参考答案【考试直接用】.docx VIP
- 人教版物理九年级上册《第十六章 电压 电阻》大单元整体教学设计.docx
- 中文书名《我的姐姐罗莎琳·富兰克林》.doc VIP
- 2025年中级注册安全工程师之安全生产技术基础考试题库附参考答案【考试直接用】.docx VIP
- 【MOOC期末】《中国马克思主义与当代》(北京科技大学)期末慕课答案.docx VIP
文档评论(0)