- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[电脑基础知识]第13课存储管理
操作系统 第 13 课 存储管理 内容回顾 存储管理: 地址重定位 各种存储管理方案: 单一连续分区存储管理 固定分区存储管理 可变分区存储管理 分页存储管理 分段存储管理 今日内容 固定分区存储管理 可变分区存储管理 固定分区存储管理 预先把可分配的主存储器空间分割成若干个连续区域,称为一个分区。每个分区的大小可以相同也可以不同,如下页图所示。但分区一旦划分好,在系统运行期间大小固定不变,每个分区装一个且只能装一个作业 进程等待队列管理模式 多队列模式 单队列模式 4、地址变换 由于作业被分配进入内存后位置不再发生变化,因此,地址转换可以采用静态重定位方法。对每一个作业进行重定位时要修正基址寄存器的值。 5、存储保护 存储保护可以采用界限地址寄存器保护方式。设置一对专用寄存器:“低界限寄存器”和“高界限寄存器” ,用于存储保护 。 固定分区存储的特点 优点: 固定分区实现技术简单,适用于作业的大小事先清楚的系统中。 对比单一连续分区管理,提高了资源利用率。 缺点: 内存的利用率不高,当程序大小小于分区的大小将会产生一部分非常小的空闲区(碎片),这部分空闲区不可再利用。 作业比任何一个分区都大时无法运行。 可变分区存储管理 内存不是预先划分好的,而是当作业装入时建立进程时,根据作业的需求和内存空间的使用情况来决定是否分配。若有足够的空间,则按需要分割一部分分区给该进程;否则令其等待内存空间 例: 例: 可变分区内存分配 表格法:设置两张表格 内存空闲区表—记录了空闲区起始地址和长度 已分配分区表—记录了已分配分区起始地址和长度 作业提出存储需求时,在空闲区表里查找满足大小的空闲区分配给它,并修改空闲区表和已分配表。 内存分配算法:动态分配,三种分配算法P56 最先适应算法 最佳适应算法 最坏适应法 最先适配算法 当接到内存申请时,查空闲区表,找到第一个不小于请求的空区,将其分割并分配 (特点:简单、快速分配) 最佳适配算法 接到内存申请时,在空闲区表中找到一个不小于请求的最小空区进行分配 (特点:用最小空间满足要求) 最坏适配算法 接到内存申请时,在空闲区表中找到一个不小于请求的最大空区进行分配 (特点:当分割后空闲区仍为较大空区,仍能进行再分配) 地址的动态重定位 把用户作业程序的逻辑地址 “原封不动” 地装入到分配给它的物理地址空间中去。 CPU每执行一条指令时,才对指令中的地址进行修改(重定位)。即指令中地址的转换是在程序执行时动态完成的,故称为地址“动态重定位”。 动态重定位需要硬件支持: 地址转换线路 基址寄存器:存放程序物理空间的起始地址 每一条指令的绝对地址=基址寄存器+相对地址 程序被移动的话,只需要修改基址寄存器内容即可。 地址静态和动态重定位的比较: 静态重定位是在程序运行之前完成地址转换的;动态重定位却是将地址转换的时刻推迟到指令执行时进行。 静态重定位是由软件完成地址转换工作的;动态重定位则由一套硬件提供的地址转换机构来完成。 静态重定位是在装入时一次集中地把程序指令中所有要转换的地址全部加以转换;而动态重定位则是每执行一条指令时,对其地址加以转换。 实行静态重定位,原来的指令地址部分被修改了;实行动态重定位,只是按照所形成的地址去执行这条指令,并不对指令本身做任何修改。 存储保护 存储保护采用界限地址寄存器保护法,即基址、限长寄存器保护法。 基址寄存器:最小的物理地址 限长寄存器:地址的长度。 执行一条有关地址的指令时,先由硬件检查其绝对地址是否在界限寄存器包含的范围内,然后决定继续访问或产生越界中断处理。 分区的管理与组织方式 表格法 单链表法 双链表法 单链表法 基本思想: 把内存中的每个空闲分区视为一个整体,在它的里面开辟出两个单元,一个存放该分区的长度(size),一个存放它下一个空闲分区的起址(next)。 操作系统开辟一个单元,存放第1个空闲分区的起址,这个单元称为“链首指针”。 最后一个空闲分区的next里存放标志“NULL” 。 这样一来,系统里所有空闲分区被next连接成一个链表。从链首指针出发,顺着各个空闲分区的next往下走,就能到达每一个空闲分区。 存储分配 对提出的任何一个存储请求,从空闲区链表首指针开始查看一个个空闲区。若有满足要求的,按尺寸分配,调整next指针;若到达NULL未见满足要求,则分配失败。 存储释放 作业完成任务后,将占用的存储区释放,链入空闲区链表(要调整指针和空闲区合并)。 存储合并 把释放区链入空闲区双向链表时,若通过它的prior发 现该释放区的前面一个空闲区
文档评论(0)