赞
踩
三种分配方案比较:最佳分配适用于请求分配的内存范围较广的系统。因为按照最佳分配的原来进行分配时,总是找大小最接近请求的空间,因此系统中可能产生存储量很小而每次都无法利用的小空间,同时也保留那些空间很大的片段,这样,不同的空闲片段将差别巨大,大片区域非常大,小片区域非常小而无法利用。最差适配则与之相反,将会使整个区域的空闲片段的大小趋于均匀,因此其适用于请求内存大小差别不是很大的系统。而首次适配是随机的,因此介于两者之间。
碎片问题
经过一段时间的分配回收后,内存中存在很多很小的空闲块。它们每一个都很小,不足以满足分配要求;但其总和满足分配要求。这些空闲块被称为碎片。
回收:进程结束后,将使用的空间释放放并插入到可用分区表/链中。
静态页式管理
页表:系统为每个进程建立一个页表,页表给出逻辑页和具体内存页面之间的对应关系;页表放在内存,属于进程的现场信息
请求表:系统通过请求表来管理每个进程/作业的内存请求和内存分配情况
存储页面表:系统通过该表识别内存页面的分配情况
预调入页式管理
系统对外存中的页面进行调入顺序计算,估计出这些页中指令和数据的执行和被访问的顺序,并按此顺序将它们调入和调出内存
请求页式存储管理
请求页存储管理只让进程或作业的部分程序和数据驻留在内存中,因此,在执行过程中需要动态地将外存中的页调入内存
两个基本问题是
怎样发现这些不在内存中的虚页:通过在页表中设置中断位及虚页在外存中的始址
怎样处理这种情况(采用何种方法把所缺的页调入内存,以及当内存中没有空闲页面时怎么办):淘汰换页算法
页式存储管理的优点: 虚存量大,适合多道程序运行,用户不必担心内存不够的调度操作。动态页式管理提供了内存与外存统一管理的虚存实现方式;内存利用率高,不常用的页面尽量不留在内存; 不要求作业连续存放,有效地解决了内存碎片问题。
页式存储管理的缺点: 要进行页面中断,缺页中断等处理,系统开销较大;有可能产生“抖动”现象;地址变换机构复杂,一般采用硬件实现,增加了机器成本
据段变得非常困难——为什么?
段式存储管理的基本思想
把程序按内容或过程(函数)关系分成段,每段有自己的名字。
一个用户作业或进程所包含的段对应于一个二维线性虚拟空间,也就是一个二维虚拟存储器。以段为单位分配内存,然后通过地址映射机构把段式虚拟存储地址转化为内存中的实际地址。经常访问的段驻留内存,在将来一段时间内不被访问的段放在外存,待需要时自动调入内存——实现二维虚拟存储器
内存分配
以段为单位分配内存,每一个段在内存中占据连续空间(内存随机分割,需要多少分配多 少),但各段之间可以不连续存放
内存的分配算法: 首先适配;最佳适配;最坏适配
管理用数据结构:段表,请求表,空闲表
虚地址:段号+段内地址
基本思想
页式管理的装入不收进程大小限制仅与页有关,但共享难于实现;段式管理受段的长度限制,但易于共享
结合段式与页式的优点——段页式管理
内存划分成页;虚存以段为单位划分为页
装入按页,调用按段
管理用数据结构
段表:(段号/名,页数,页表起始地址,访问位,存取方式)
页表:(页号,页面号,内/外存)
空闲页表:与页式管理类似
请求表:(进程号,段表起始地址)
问题:系统中有多少个段表?页表?空闲页表?请求表?
虚地址:(段号,页号,页内地址)
内存分配与回收
与页式管理相同
共享
利用段表实现共享——与段式管理一致
优缺点
页式与段式管理的折衷,系统开销大
工作集
•对于给定的访问序列选取定长的区间,称为工作集窗口,落在工作集窗口中的页面集合称为工作集
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。