- 1、本文档共126页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章??????存储器管理;4.1 存储管理概述;
提高内存利用率
? “扩充”内存容量
? 信息保护
;内外存数据传输的控制
用户程序控制
操作系统控制
交换(Swapping) :由OS把那在内存中处于等待状态的进程换出内存,就绪进程换入内存。
请求调入(On demand)和预调入(On prefetch); 内存管理的内容
分配结构:
放置策略:
交换策略:
调入策略:
回收策略:
;内存信息的共享与保护
上下界保护法
保护键法
为每个被保护存储块分配一个单独的保护键,在程序状态字中设置相应的开关字段,不同的进程值不一样,匹配时,方可进行访问。
界限寄存器与CPU 的用户态和核心态工作方式相结合
用户态进程只能访问在界限寄存器所规定范围内的内存部分,而核心态进程则可访问整个内存地址空间。;4.2 程序的装入和链接;程序的装入
绝对装入方式(Absolute Loading Mode)
编译程序产生绝对地址目标代码,由装入程序根据装入模块中的地址,将程序和数据装入内存。;
2.可重定位装入方式(Relocatable Loading Mode)
重定位:在装入时对目标程序中的指令和数据地址的修改过程。;静态地址重定位:是指作业在装入时随即进行的地址变换方式,这一工作由装配程序完成。
优点:无需增加硬件地址变换机构;实现简单。
缺点:程序经地址定位后就不能再移动了;程序在存储空间中只能连续分配;多个用户难以共享存于内存中的同一程序。
;3.动态运行时装入方式(Dynamic Run-Time Loading)
程序执行过程中,当访问指令或数据时,才进行的地址变换方法,称为动态重定位。
靠硬件地址变换机构实现的。
基地址寄存器(重定位寄存器) BR
程序虚地址寄存器VR
地址 MA=(BR)+(VR)
优点:可对内存进行非连续分配;提供了实现虚存的基础;有利于程序段的共享。;4.2 程序的装入和链接;程序的链接
静态链接:将各模块及库函数链接成一个装配模块,以后不再拆开。
装入时动态链接:各目标模块装入内存时,边装入边链接。
运行时动态链接:对模块的链接,是在程序执行中,才进行链接。;4.3 连续分配存储管理方式;缺点
存储器利用率低
缺乏灵活性,程序所需应小于内存,否则提供覆盖。
某些系统中安全性差。
信息不共享
CPU 利用率低,周转时间长。
;?固定分区
工作原理
在系统生成时,将内存划分为若干各分区,每个分区的大小可以不等,一经划分,不能更改。
系统对内存的管理和控制通过分区说明表说明各区的区号,大小,起始地址及状态。
特点
可使多个作业共享内存,但管理简单,内存利用率太低,对工作负荷明确的作业比较合适。;4.3 连续分配存储管理方式;4.3 连续分配存储管理方式;动态分区
工作原理
存储空间的划分是在装入作业时进行的,且使分区大小正好适应作业的需要。
数据结构
空闲分区表:序号,大小,起址,状态
空闲分区链:在每个分区中附上一个表格信息,状态(0,1),大小,指针(空白分区才有) ;4.3 连续分配存储管理方式;4.3 连续分配存储管理方式;;最佳适应算法
空白区按大小递增的顺序链在一起。变量FREE 中的始端指针总指向最小的空白区。
特点:平均而言,查找时间较少;选择最适合的空白区。形成很多小碎片;找一个大空白区时较慢;回收时费时;先拼接,再把该区插入适当位置。
最差适应算法
空白区按容量递减次序排列。
特点:分配时间快;剩下的空白分区仍可用;各空白区比较均匀地减少,工作一段时间后,就不能满足大空白区的要求;回收麻烦。;算法分析
特点:有助于多道程序设计;只需要界限地址寄存器,用于存储保护;算法简单,易于实现。但会产生碎片,降低存储器的利用效率;分区的大小,受内存容量限制。
几种算法比较:搜索速度,释放速度,空闲区的利用。;分区的分配
在未分配表中找出一个足够大的空白分区;
如比进程要求的大,则分为两部分;;分区的回收
检查回收的分区是否与空白区邻接,如有则加以合并,上邻接,下邻接,上下邻接。;伙伴系统;;可重定位分区分配;原理:内存紧凑
地址映射
地址空间:在编译后,一个目标程序所限定的地址,即地址空间仅仅是指程序用来访问信息所用的一系列地址单元的集合,这些单元编号称为逻辑地址(相对地址)。
存储空间:指主存中一系列存储信息的物理单元的集合,这些单元的编号称为物理地址或绝对地址。
实现
动态重定位技术:访问指令或数据时,通过重定位寄存器来自动修改访问存储器的地址。;Date;动态重定位分区分配算法:;内存紧凑两种时机
在某个分区被回收时,如不与空白区邻接,则立即进行内存紧凑。
在为作业分配而找不到足够大的
文档评论(0)