存储器的分区内存管理与分区存储管理.doc

上传人:白大夫 文档编号:3432248 上传时间:2019-08-25 格式:DOC 页数:4 大小:18.50KB
返回 下载 相关 举报
存储器的分区内存管理与分区存储管理.doc_第1页
第1页 / 共4页
亲,该文档总共4页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《存储器的分区内存管理与分区存储管理.doc》由会员分享,可在线阅读,更多相关《存储器的分区内存管理与分区存储管理.doc(4页珍藏版)》请在三一文库上搜索。

1、存储器的分区内存管理与分区存储管理分区内存管理单一区存储管理定义:用户区不分区,完全被一个程序占用。优点:简单,不需要复杂的硬件支持缺点:内存浪费,利用率低分区存储管理定义:把用户区划分为若干大小不等的分区,共不同程序使用。适用单用户单任务系统。固定分区把内存固定地划分为若干个大小不等的分区供各个程序使用,每个分区的大小和位置都固定,系统运行期间不再重新划分。分区表:为了方便内存分配,通常将分区按大小排好序,并建议一张对应的分区表,该表包括每个分区的起始地址,大小及状态。当用户程序装入内存的时候,依据用户程序大小检索分区表,从中找出一个满足要求的、尚未分配的分区,将之分配给该程序,并将表中该分

2、区的状态改为已分配,若未找到大小满足的分区,则拒绝分配。使用特点:在程序装入前,内存已被分区,不再改变。每个分区大小不同,适应大小不同的程序,系统要维护分区表,适应具有固定任务数的多道程序系统。缺点:浪费内存,程序比所在分区小;另外大程序可能无法运行。建议:根据分区表安排程序装入顺序,使每个程序都能找到合适的分区运行。在通用操作系统中,程序的数量大小都是不确定的,显然固定分区不太适合动态分区定义:在程序装入的时候创建分区,使分区大小与程序的大小相等。特点:分区动态建立。会产生内存碎片。需要解决的问题:分区的分配?分区的选择?分区的回收?解决内存碎片问题?分区的分配空闲区表:描述内存空闲区的位置

3、和大小的数据结构分配过程(假定用户要求的空间是s)(1)从空闲区表的第一个区开始,寻找大于等于s的空闲区(2)找到后从分区分割出大小为s的部分给用户使用(2)分割后的剩余部分作为空闲区仍登记在空闲区表中注意:分割空闲区时一般从底部分割,这样基址不变,容易更新空闲区表如何排序放置策略(空闲区表排序原则)(1)按空闲区位置(首址)递增排序:首次适应算法(2)按空闲区位置(首址)递减排序:没有用(3)按分区大小递增排序:最佳适应算法(4)按分区大小递减排序:最坏适应算法分区的回收功能:回收程序释放分区(释放区),登记到空闲区表中,以便再分配。回收算法:要考虑释放区与现有空闲区是否相邻?若相邻,则合并

4、后更新表,若不相邻,直接插入表中。内存覆盖技术 (覆盖overlay)(物理内存管理范畴)目的:在较小的内存空间中运行较大的程序。内存分区:常驻区:被某段单独且固定地占用,可划分多个覆盖区:能被多段共用(覆盖),可划分多个缺点:编程复杂,程序员划分程序模块并确定覆盖关系;程序执行时间长,从外存装入到内存很耗时。内存交换技术(Swapping)(物理内存管理范畴)原理:内存不够时把进程写道磁盘(换出/Swap out),当进程要运行时重新写回内存(换入/Swap 呕吐)优点:增加进程并发数,不考虑程序结构缺点:换入和换出增加CPU开销,交换单元太大(整个进程)需要考虑的问题:减少交换传送的信息量

5、(模块/段);外存交换空间的管理方法;程序换入时的地址重定位。换出换入的地址重定位:放到什么位置?原来位置(容易引起地址冲突)任一空的位置(地址要重定位)内存碎片动态分区的缺点:容易产生内碎片。碎片问题的解决方法:规定门限值分割空闲区时,若剩余部分小于门限值,则此空闲区不进行分割,而是全部分配给用户。内存拼接技术将所有空闲区集中构成一个大的空闲区。拼接的时机:释放区回收的时候(拼接频率过大,系统开销大);系统找不到足够大的空闲区的时候(空闲区管理复杂);定期(空闲区管理复杂)缺点:消耗系统资源;离线拼接(系统需要暂停下来进行整理);重新定义作业。解除程序占用连续内存才能运行的限制(分页和分段就是借鉴了这种思想)把程序分拆为多个部分装入到不同分区,充分利用碎片

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1