字节编号,从0开始,是“一维”的地址。
例题: 1.外存上存放的数据( 必须在访问前先装入内存 )。 |
如何将可用内存有效地分配给多个进程?
如何让存储容量大于可用内存的大进程得以运行?
如何保护和共享内存?
①内存的分配与回收
静态分配 | —次性全部载入内存,运行过程中不再变化。 |
动态分配 | 先分配必需的基本空间,运行过程中动态载入。 |
内存分配表 | 已使用的内存记录,未使用的内存记录。 |
②地址变换
静态地址重定位 | 不需要硬件支持,不能移动,利用率低。 |
动态地址重定位 | 转入后再计算物理地址,方便多模块。 |
内存分配表 | 已使用的内存记录,未使用的内存记录。 |
例题: 1.静态重定位是在作业的( 执行过程 )中进行的。 2.动态重定位是在作业的( 装入过程 )中进行的。 3.存储分配解决多道作业地址空间的划分问题。为了实现静态和动态存储分配,需采用地址重定位,即把逻辑地址转为物理地址,静态重定位由连接装入程序实现,动态重定位由硬件地址变换机构实现。 4.采用动态重定位方式装入的作业,在执行中允许( 操作系统有条件地 )将其移动。 5.把逻辑地址转变为内存的物理地址的过程称作( 重定位 )。 6.将作业地址空间中的逻辑地址转换为内存中的物理地址的过程称为( 重定位 ) 。 7.逻辑地址转变为内存的物理地址的过程称作( 重定位或地址映射 )。 |
例题: 1.逻辑地址就是( 相对地址 )。 |
③内存信息的共享和保护
上下界保护法 | 进程程序和数据段的起始地址和终止地 |
保护键法 | 类似于读者——写者控制的方法。 |
Linux采用方法 | 界限寄存器与CPU用户态和核心态旧结合的保护方式。 |
④内存扩充
虚拟存储
例题: 1.存储管理的目的是(方便用户和提高内存利用率。) |
特点 | 个数、大小不变 |
优缺点 | 技术简单;但主存利用率不高,存在严重的内碎片。 |
碎片 | 明明空在这里却不能被利用 |
例题: 1.碎片现象的存在使得内存空间利用率( 降低 ). |
特点 | 个分区数、大小变化 |
数据结构 | 已分配分区表(大小、起址)和空闲分区表(链)(大小,起址,状态)。 外碎片,拼接(内存紧凑) |
例题: 1.用可重定位分区分配方式,( 解决碎片问题 )。 2.可重定位内存的分区分配目的为( 解决碎片问题 ) 。 |
首次适应算法 | 按空闲区首地址递增排序 |
循环首次适应算法 | 按空闲区首地址递增排序 |
最坏适应算法 | 按空间大小递减排序 |
最佳适应算法 | 按空间大小递曾排序 |
快速适应算法 | 按容量相同否分类排序 |
伙伴系统 | 把内存中的所有空闲分区按照2k(1sk≤n)的大小划分。 |
哈希算法 | 构建—张以空闲区大小为关键字的哈希表,该表的每一个表项记录了—个对应的空闲分区链表头指针。 |
例题: 1.在可变分区存储管理中,最优适应分配算法要求对空闲区表项按( 尺寸从小到大 )进行排序。 2.在动态分区式内存管理中,倾向于优先使用低地址部分空闲区的算法是(首次适用算法)。 3.在动态分区式内存管理中,能使内存空间中空闲区分布较均匀的算法是(循环首次适用算法)。 4.在动态分区式内存管理中,每次分配时把既能满足要求,又是最小的空闲区分配给进程的算法是(最佳适应算法)。 5.在((循环)首次适应算法)中,要求空闲分区按空闲区地址递增顺序链接成空闲分区链。 6.在( 最佳适应算法 )中,是按空闲区大小递增顺序形成空闲分区链。 7.在( 最坏适应算法 )中,是按空闲区大小递减的顺序形成空闲分区链。 8.分区管理方式中,当内存碎片容量大于某一作业所申请的内存容量时,(拼接后,可以为这一作业分配内存)。 9.在循环首次适应算法中,要求空闲分区按( 空闲区首地址递增 )顺序链接成空闲分区链。 10.在最佳适应算法中是按( 空闲区大小递增 )顺序形成空闲分区链。 |
例题: 1.在回收内存时可能出现四种情况,其中若释放区与插入点前一空闲分区F1相邻接,此时应( 在F1分区表项的基础上,修改大小 ) 。 2.在回收内存时可能出现四种情况,其中若释放区与插入点的后一分区F2相邻接,此时应(在F2分区表项的基础上,修改大小和始址 )。 3.在回收内存时可能出现四种情况,其中若释放区不与F1和F2相邻接,此时应( 为回收区建立一新空闲分区表项,并填上 分区的大小和始址) 。 4.在回收内存时可能出现四种情况,其中若释放区与F1和F2都相邻接,此时应( 删除F2分区表项,并在F1分区表项的基础 上修改大小 ) 。 5.在动态分区分配方案中,某一作业完成后,系统收回其主存空间,并与相邻空闲区合并,为此需修改空闲区表,造成空闲区减一的情况是(有上邻空闲区,也有下邻空闲区)。 |
动态分区可以采用拼接技术:有碎片就拼接,不够时才拼接。
主要优点 | (1)实现了多个作业或进程对内存的共享,有助于多道程序设计,从而提高了系统的资源利用率。 (2)该方法要求的硬件支持少,管理算法简单,因而实现容易。 |
主要缺点 | (1)内存利用率仍然不高。存在着严重的碎小空闲区(碎片)不能利用的问题。解决办法:内存紧凑。 (2)作业或进程的大小受分区大小控制,除非实现内存的扩充。可采用覆盖和交换技术。 (3)难以实现各分区间的信息共享。 |
例题: 1.通常,采用紧缩法消除内存碎片的存储管理技术是( 可重定位分区法 )。 |
静态方法:一个进程的所有页一次性全部装入内存。
页表 | 对每—个进程,系统为它建立—个页表。 |
请求表 | |
存储页面表 | |
分配与回收 | 静态分配为一次性分配 |
地址结构 | |
地址变换 |
例题: 1.在页式存储管理中,若所需页面不在内存中,则会引起( 缺页中断 )。 |
快表
页面大小的选择:如果页面太大,页式管理就退化为分区管理,同时导致页内“碎片”过大。而页面太小,页表占用内存空间太多。—个系统的页表占用内存的空间大小与主存大小和页大小有关。
例题: 1.在请求分页存储管理方案中,若某用户空间为16个页面, 页长1KB,现有页表如下: |页号 | 块号| | 0 | 12 | | 1 | 13 | | 2 | 3 | 则逻辑地址0A1F(H)所对应的物理地址为(0E1F(H))。 |
注:
页长1KB 210=1k 页面长度为10位,
逻辑地址0A1F(H)转化为二进制位 0000 1010 0001 1111
(二进制10)为页号即十进制2,对应表找到块号为3,故物理地址为 0000 1110 0001 1111 (0E1F)
因为是分页存储管理,所以隐藏了页面大小等于页框大小这个条件
优点 | (1)有效地解决了内存的碎片问题,进—步可提高了处理机的利用率。 (2)动态页式存储管理只要求每个进程部分装入便可运行,实现了内存的扩充技术。 |
缺点 | (1)要求有相应的硬件支持。例如,地址变换机构,缺页中断机构和页面的淘汰等。 (2)增加了系统开销。 (3)淘汰算法选择不当有可能会严重影响系统的使用效率。 (4)虽然消除了碎片,但同时还存在页内碎片问题。 |
例题: 1.分页式存储管理中,地址转换工作是由( 硬件 )完成的。 |
抖动现象与工作集
抖动现象:频发的调入调出,与进程数和进程的实页数有关
防止抖动现象的方法:
①是选择好的淘汰算法:以减少缺页次数。
②是扩大工作集:是指进程在某个时间段里要访问的页的集合。如果能够预知进程在某段时间的工作集,并在此之前把该集合调入内存,至该段时间终了时,再将其在下—时间段时不需要访问的哪些页换出内存,这样就会可以减少页的交换。
淘汰原因 | 内存空闲页不足,调出暂不用页到磁盘交换区。 |
算法目标 | 应使缺页率尽可能小。 |
最佳(Optimal)淘汰算法 | |
---|---|
基本思想 | 不再使用或最远的将来不再使用。不能实现,但可以作为衡量标准。 |
先进先出淘汰算法(FIFO) | |
---|---|
基本思想 | FIFO算法容易实现,但是它所依据的理由与普遍的进程运行规律不符。它只适用于CPU按线性顺序访问地址空间的进程。 |
最近最少使用(LRU)淘汰算法 | 最近最久没有被使用的页 |
---|---|
基本思想 | 方法:(1)计时器法(2)) 栈(解题方法) (3)寄存器法:高位补一,右移,最小。 |
最近未使用(NUR)算法 | LRU近似算法 |
---|---|
基本思想 | R:是否访问,M:是否修改,R=O,M=O的先淘汰。最不经常使用(NotFrequentlyUsed,NFU)算法增设一个访问寄存器,每次访问加1,淘汰值最小的。 |
例题: 1.在请求分页系统中,LRU算法是指( 丘期最长时间以来没被访问的页先淘汰 ) 。 2.在请求调页中可采用多种置换算法,其中LRU是( 最近最久未使用 )置换算法。 3.在下述存储管理技术中,( 请求分页) 处理不当会产生抖动。. |
结构 | |
数据结构 | |
地址变换 | |
内存分配与释放 |
基本思想 | |
段表 | |
缺段中断处理 | 能容纳直接调入 不能容纳合并碎片再调入 内存不足换出 也可能产生抖动现象 |
(1)段是面向用户的,页是面向系统的。 |
(2)页的大小是固定的,由系统决定;段的大小不固定,由用户决定。 |
(3)从用户的角度看,分页系统的用户程序空间是一维连续的线性空间 ; 段的地址空间是二维的,由段名和段内相对地址组成。 |
(4)从管理的角度看,分页系统的二维地址是在地址变换过程中由系统的硬件机构实现的,对用户是透明的。分段系统的在地址变换过程中的二维地址是由用户提供的。因而, 页内没有地址越界问题,而段内的相对地址则存在地址越界(段长受内存实际空间大小限制)问题。 |
页式、段式都可以共享。但段式方便。
共享:页表、段表记录相同空间。
静态链接
动态链接
①地址越界保护法
②存取控制保护法
优点 | (1)便于信息的共享和保护。 (2)实现了内存的扩充。 (3)便于信息的变化处理。 (4)便于实现动态链接。 |
缺点 | (1)增加了计算机成本。 (2)存在碎片问题。 (3)段的长度受内存可用空间大小的限制。 (4)与页式存储管理类似,淘汰算法选择不当,可能产生抖动现象。 |
例题: 1.分段管理提供(二 )维的地址结构。 2.在段式存储管理中,一个段是一个( 不定长的连续 )区域。 3.支持程序浮动的地址转换机制是( 动态重定位) 。. |
例题: 1.(固定分区)存储管理支持多道程序设计,算法简单,但存储碎片多。 2.(段页式管理)实现了段式、页式两种存储方式的优势互补。 3.(段页式管理)存储管理方式能使存储碎片尽可能少,而且使内存利用率较高。 4.段页式存储管理汲取了页式管理和段式管理的长处,其实现原理结合了页式和段式管理的基本思想,即(用分段的方法分配和管理用户地址空间,用分页方法来管理物理存储空间)。 5.虚拟存储技术是(补充相对地址空间的技术)。 6.虚拟存储器的最大容量是由(计算机系统的地址结构和外存空间)决定的。 7.实现虚拟存储最关键的技术是( 请求调页(段))。 8.以下支持虚拟存储器的存储管理技术是( 请求分页技术 )。 9.若一个系统内存有64MB,处理器是32位地址,则它的虚拟地址空间为( 4GB )字节。 |