1、计算机专业基础综合(存储管理)模拟试卷 4 及答案与解析一、单项选择题1-40 小题,每小题 2 分,共 80 分。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。1 在可变分区存储管理中,某作业完成后要收回其主存空间,该空间可能要与相邻空闲区合并。在修改未分配区表时,使空闲区个数不变且空闲区始址不变的情况是( )空闲区。(A)无上邻也无下邻(B)无上邻但有下邻(C)有上邻也有下邻(D)有上邻但无下邻2 最佳适应算法的空闲区的排列方式是( )。(A)按大小递减顺序排列(B)按大小递增顺序排列(C)按地址由小到大排列(D)按地址由大到小排列3 分页系统中的页面是( )。(A)用户所能感
2、知的(B)操作系统所能感知的(C)编译程序所能感知的(D)链接装配程序所能感知的4 在下列选项中对分段式存储管理描述正确的是( )。(A)每一段必须是连续的存储区(B)每一段不必是连续的存储区(C)每个段必须是大小相等的(D)段与段之间的存储区必须是连续的5 某基于动态分区存储管理的计算机的主存容量为 55 MB(初始为空) ,采用最佳适配(Best Fit)算法,分配和释放的顺序为:分配 15 MB,分配 30 MB,释放 15 MB,分配 6 MB,此时主存中最大空闲分区的大小是( )。(A)7 MB(B) 9 MB(C) 10 MB(D)15 MB6 某计算机采用二级页表的分页存储管理方
3、式,按字节编制,其页大小为 210B,页表项大小为 2 B,逻辑地址结构为: 逻辑地址空间大小为 210 页,则表示整个逻辑地址空间的页目录表中包含表项的个数至少是( ) 。(A)64(B) 128(C) 256(D)5127 分页式存储管理中,地址转换工作是由( )完成的。(A)硬件(B)地址转换程序(C)用户程序(D)装入程序8 用户程序的逻辑地址可以不连续的存储管理方式是( )。(A)固定分区(B)可变分(C)页式(D)段页9 ( )不是分段式虚拟存储管理优于分页式虚拟存储管理的方面。(A)没有内零头(B)便于处理在进程执行过程中堆栈尺寸的增长问题(C)便于共享内存中的数据(D)只需将进
4、程的一部分调入内存,进程即可运行10 若进程执行到某条指令时发生了缺页中断,经操作系统处理后,当该进程再次占用处理器时,应从( ) 指令继续执行。(A)被中断的前一条(B)被中断的后一条(C)被中断的(D)开始时的第一条11 LRU 页面调度算法是选择( )的页面先调出。(A)最近才使用(B)最久未被使用(C)驻留时间最长(D)驻留时间最短12 实现虚拟存储器的目的是( )。(A)扩充主存容量(B)扩充辅存容量(C)实现存储保护(D)加快存取速度13 采用段式存储管理时,一个程序可以被分成若干段,每一段的最大长度是由( )限定的。(A)主存空闲区的长度(B)硬件的地址结构(C)用户编程时(D)
5、分配主存空间时14 采用段式存储管理时,一个程序如何分段是在( )决定的。(A)分配主存时(B)用户编程时(C)装入作业时(D)程序执行时15 采用页式存储管理时,重定位的工作是由( )完成的。(A)操作系统(B)用户(C)地址转换机构(D)主存空间分配程序16 页式存储管理中的页表是由( )建立的。(A)操作员(B)系统程序员(C)用户(D)操作系统17 在可变分区存储管理中,采用移动技术可以( )。(A)汇集主存中的空闲 N(B)增加主存容量(C)缩短访问周期(D)加速地址转换二、综合应用题41-47 小题,共 70 分。18 试全面比较连续分配和离散分配方式。19 在一个采用分页式虚拟存
6、储管理的系统中,有一用户作业,它依次要访问的字地址序列是 115,228,120,88,446,102,321,432,260,167。若分配给作业可使用的主存空间共 300 个字,作业的页面大小为 100 个字,且第 0 页已经装入主存,请回答下列问题:(1)按 FIFO 页面调度算法将产生多少次缺页中断?写出依次淘汰的页号。(2)按 LRU 页面调度算法将产生多少次缺页中断?写出依次淘汰的页号。20 何谓静态分配? 何谓动态分配 ?21 什么是地址重定位? 怎样区分静态重定位和动态重定位? 各有什么优缺点?22 分区分配有哪几种? 试比较各种分区分配的优缺点。23 试述最佳、最差、最先适应
7、算法的基本思想,并指出它们各自的优缺点。24 什么是存储器的内零头和外零头?它们是怎么造成的? 减少它们应采取什么措施?25 试述分页存储管理的基本实现原理,并说明如何实现从逻辑空间到物理空间的变换?26 用可变分区方式管理主存时,假定主存中按地址顺序依次有五个空闲区,空闲区的大小依次为 32 KB、10 KB、5 KB、228 KB、100 KB。现有五个作业J1、J2、J3 、 J4,J5,它们各需主存量为 1 KB、10 KB、108KB、28 KB,115 KB。若采用最先适应分配算法,能把这五个作业按 J1J5 的次序全部装入主存吗?按怎样的次序装入这五个作业可以将其全部装入主存?2
8、7 为什么要引入虚拟存储器的概念?28 请求分页和简单分页两种存储管理方案有何不同?缺页中断是如何发生的? 发生缺页中断时如何处理?29 某一计算机系统采用虚拟页式存储管理方式,当前在处理机上执行的某一个进程的页表如下所示,所有的数字均为十进制,每一项的起始编号是 0,并且所有的地址均按字节编址,每页的大小为 1 024 B。 (1)将下列逻辑地址转换为物理地址,写出计算过程,对不能计算的说明为什么? 0793,1197,2099,3320,4188,5332 (2)假设程序欲访问第 2 页,页面置换算法为改进的 CLOCK 算法,请问该淘汰哪页?如何修改页表?上述地址的转换结果是否改变?变成
9、多少 ?计算机专业基础综合(存储管理)模拟试卷 4 答案与解析一、单项选择题1-40 小题,每小题 2 分,共 80 分。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。1 【正确答案】 D【试题解析】 选项 A 错,对于无上邻也无下邻的情况,空闲区个数要增 1。选项B 错,空闲区始址要变。选项 C 错,空闲区个数减 2。选项 D 正确。【知识模块】 存储管理2 【正确答案】 B【试题解析】 该算法将系统的空闲区按从小到大的顺序排列,在需要空闲区分配时选择最小且能够满足需要的空闲区进行分配。【知识模块】 存储管理3 【正确答案】 B【试题解析】 分页系统中由逻辑地址向物理地址的转换是
10、系统借助硬件系统自动实现的,对用户透明,对编译程序和链接装配程序透明(在相同的系统里),只有操作系统可以感知页面的存在。在内存管理过程中,操作系统要为用户进程分配内存,回收内存,所以操作系统是页面最直接的接触者;它将页面从计算机系统到用户进行了隔离。【知识模块】 存储管理4 【正确答案】 B【试题解析】 在单一的段式管理中,每个段是独立的逻辑单位,段内是连续的存储空间,而段与段之间在存储区域分配时不必占用连续的区域。【知识模块】 存储管理5 【正确答案】 C【试题解析】 这是由最佳适应算法的定义而来的。算法规定将空闲区按照从小到大排序,每次分配都选择能够满足需要的最小空闲区分配。【知识模块】
11、存储管理6 【正确答案】 B【试题解析】 按照常规,绝大多数计算机都是采用 32 位结构,如果采用二级页表的分页存储管理方式,按字节编制,其页大小为 210B 意味着页内编址需要占 10 位,页表项大小为 2 B 占 16 位,则表示整个逻辑地址空间的页目录表中包含表项的个数的二进制位应该大于或等于 7 位二进制数,即最小 128 是正确的。【知识模块】 存储管理7 【正确答案】 A【知识模块】 存储管理8 【正确答案】 D【知识模块】 存储管理9 【正确答案】 C【试题解析】 如果系统正在向非易失性存储器件硬盘写数据时系统崩溃,写的数据可能会丢失,或者存储信息不完整。【知识模块】 存储管理1
12、0 【正确答案】 C【知识模块】 存储管理11 【正确答案】 B【试题解析】 LRU 是最近最少使用算法,选择上次访问距现在时间最长的页面调出。【知识模块】 存储管理12 【正确答案】 A【试题解析】 虚存是在逻辑上对内存容量加以扩充的一种存储系统。【知识模块】 存储管理13 【正确答案】 C【试题解析】 段的最大长度是根据段的逻辑内容大小来划分的,是由用户编程时限定的。【知识模块】 存储管理14 【正确答案】 B【试题解析】 程序如何分段是由用户决定的。【知识模块】 存储管理15 【正确答案】 C【试题解析】 实现页式存储管理中重定位的是地址转换机构。【知识模块】 存储管理16 【正确答案】
13、 D【试题解析】 页表是由操作系统建立起来的。【知识模块】 存储管理17 【正确答案】 A【知识模块】 存储管理二、综合应用题41-47 小题,共 70 分。18 【正确答案】 (1)连续分配是指为一个用户程序分配一个连续的地址空间,包括单一连续分配方式和分区式分配方式。前者将内存分为系统区和用户区,系统区供操作系统使用,用户区供用户使用,是最简单的一种存储方式,但只能用于单用户单任务的操作系统中。分区式分配方式分为固定分区和动态分区。固定分区是最简单的多道程序的存储管理方式,由于每个分区的大小固定,必然会造成存储空间的浪费。动态分区是根据进程的实际需要,动态地将之分配为连续的内存空间,常用三
14、种分配算法:首次适应算法 FF,该法容易留下许多难以利用的小空闲分区,加大查找开销;循环首次适应算法,该算法能使内存中的空闲分区分布均匀,但会致使缺少大的空闲分区;最佳适应算法,该算法也易留下许多难以利用的小空闲分区。(2)离散分配方式基于将一个进程直接分散地分配到许多不相邻的分区中的思想,分为分页式存储管理、分段式存储管理和段页式存储管理。分页式存储管理旨在提高内存利用率,满足系统管理的需要;分段式存储管理则旨在满足用户(程序员)的需要,在实现共享和保护方面优于分页式存储管理;而段页式存储管理则是将两者结合起来,取长补短,既具有分段系统便于实现、可共享、易于保护、可动态链接等优点,又能像分页
15、系统那样很好地解决外部碎片的问题以及为各个分段可离散分配内存等问题,显然是一种比较有效的存储管理方式。(3)综上可见,连续分配方式和离散分配方式各有各的特点,应根据实际情况加以改进和利用。【知识模块】 存储管理19 【正确答案】 由于作业的页面大小为 100 个字,因而主存块的大小也为 100 个字。现该作业可使用的主存空间共 300 个字,即共可使用三个主存块。根据作业依次要访问的字地址,可以得到作业将依次访问的页如下: 现只有第 0 页已经在主存但尚有两块主存空间可供使用,所以作业执行时依次访问第 1 页和第 2 页时均要产生缺页中断,但不必淘汰已在主存中的页面,可把第 1 页和第 2 页
16、装入到可使用的主存块中,现在主存中已有 0、1、2 三个页面的信息。在进行第三、第四次访问时不会产生缺页中断,而在第五次访问第 4 页时将产生一次缺页中断。此时,若采用 FIFO 算法应淘汰最先装入主存的第 0 页,而采用 LRU算法则应淘汰最近最久没有使用的第 2 页。显然,进行第六次访问不会产生缺页中断,而在第七次访问时必须经缺页中断处理来装入第 3 页。为此,FIFO 算法会淘汰第 1 页,LRU 算法会淘汰第 0 页。于是,作业继续执行时,对 FIFO 算法来说,将在第十次访问时再产生一次缺页中断,为了装入当前需用的第 1 页而应淘汰第 2页;对 LRU 算法来说,将在第九次访问时产生
17、缺页中断,为了装入当前需用的第2 页而应淘汰第 1 页,在随后的第十次访问时仍将产生缺页中断,为了把第 1 页重新装入而应淘汰第 3 页。 可见,按 FIFO 页面调度算法将产生五次缺页中断,依次淘汰的页面为 0、1、2。按 LRU 页面调度算法将产生六次缺页中断,依次淘汰的页面为 2、0、1、3。 (1)按 FIFO 页面调度算法将在后继的第五、七、十次访问时再产生三次缺页中断。因而共产生五次缺页中断,依次淘汰的页号为 0、1、2。 (2)按 LRU 页面调度算法将在后继的第五、七、九、十次访问时再产生四次缺页中断。因而共产生六次缺页中断,依次淘汰的页号为 2、0、1、3。【知识模块】 存储
18、管理20 【正确答案】 (1)静态分配:在装配程序把目标模块进行连接装入时确定它们在主存中的位置。这种静态存储分配方式要求在一个作业装入时必须分配所需的全部存储空间;如果没有足够的存储空间,就不能装入该作业。(2)动态分配:同静态分配时一样,作业在存储空间的位置也是在装入时确定的,但在其执行过程中可根据需要申请附加的存储空间,而且一个作业已占用的部分存储空间不再需要时可以要求归还给系统。【知识模块】 存储管理21 【正确答案】 (1)地址重定位:把作业地址空间中使用的逻辑地址变换成主存中物理地址的过程。(2)静态重定位是在程序运行之前由装配程序完成的,动态重定位是在程序执行过程中由硬件地址变换
19、机构实现的。(3)静态重定位的主要优点是,无须增加硬件地址变换机构,因此可在一般计算机上实现。(4)静态重定位的主要缺点有:第一,要求给每个作业分配一个连续的存储空间,且在作业的整个执行期间不能再移动,因此也就不能实现重新分配主存,不利于主存空间的充分利用。第二,用户必须事先确定所需的存储量,若所需的存储量超过可用存储空间,用户必须考虑覆盖结构。第三,用户之间难以共享主存中的同一程序副本。(5)动态重定位的主要优点有:第一,用户作业不要求分配连续的存储空间。第二,用户作业在执行过程中可以动态申请存储空间和在主存中移动。第三,有利于程序段的共享。(6)动态重定位的主要缺点有:第一,需要附加的硬件
20、支持。第二,实现存储管理的软件算法比较复杂。【知识模块】 存储管理22 【正确答案】 (1)单一连续分区管理原理优点:方法简单,易于实现。缺点:仅适用于单道程序,因此不能使处理机和主存得到充分利用。(2)固定式分区管理主要优点是简单易行,特别是对于作业大小可以事先知道的专用系统,这种方法比较实用。(3)可变分区存储管理优点:消除固定式分区分配造成的“内零头” 。缺点:主存中经常可能出现大量的不能充分利用的小空闲区。(4)可重定位分区存储管理优点:减少碎片,使存储器的利用率提高。缺点:需要硬件支持,提高了计算机成本,同时拼接也将降低计算机的处理速度。【知识模块】 存储管理23 【正确答案】 (1
21、)最佳适应算法:为一作业选择分区时总是寻找其大小最接近于作业所要求的存储空间。优点:如果存储空间中具有正好是所要求大小的空闲区,则必然被选中;如果不存在这样的空闲区,也只对比要求稍大的空闲区划分,而不会去划分一个更大的空闲区。(2)最差适应算法:为作业选择存储空间时总是寻找最大的空闲区。(3)最先适应算法:将空闲区按其在存储空间中的起始地址递增的顺序排列。为作业分配存储空间时,从空闲区链的始端开始查找,选择第一个满足要求的空闲区,而不管它究竟有多大。【知识模块】 存储管理24 【正确答案】 (1)分配给用户而未被利用的部分(各分区中的空闲部分)称为存储器的内零头。造成的原因是分区的大小不是根据
22、每个作业的大小划分的。减少内零头的方法是根据作业的实际需要动态地划分存储空间,即分区的个数和大小都是不固定的。(2)存在于各分区之间的不能再充分利用的小的空闲区称为外零头。产生外零头的一个主要原因是,分区分配要求作业运行前一次全部装入主存,且必须占用连续的存储空间。(3)解决办法:把程序分成几部分装入不同的分区(在虚拟存储管理中讨论)。采用“拼接”技术,把零头集中起来形成一个大的空闲区。【知识模块】 存储管理25 【正确答案】 (1)实现原理。等分主存:把主存的存储空间划分成大小相等的片。用户逻辑地址空间的分页:把用户的逻辑地址空间(虚地址空间)划分成若干个与存储块大小相等的片,称为页面或页(
23、Page)。逻辑地址的表示:在分页系统中,每个虚拟地址(相对地址)用一个数对(p,d)来表示。其中 p 是页号,d 是该虚拟地址在页面号为 p 的页中的相对地址,称为页内地址(位移量 )。主存分配原则:在分页情况下,系统以存储块为单位把主存分给作业或进程,并且分给一个作业的各存储块不一定是相邻和连续的。进程或作业的一个页面装入系统分给的某个存储块中,所以页面与存储块对应。页表和页表地址寄存器:为了便于管理和保护,系统为每个装入主存的作业建立一张相应的页表,一旦这个作业被调度执行,把它的页表始址及大小装入特定的页表寄存器中。(2)作业执行过程中 CPU 产生的每一个逻辑地址,由硬件地址变换机构自
24、动将其分成两部分,一部分为页号,另一部分是页内位移量。如果页表访问是合法的,则由页表始址和页号计算出所对应的物理块号;将物理块号与逻辑地址中的位移量拼接,形成最终访问的物理地址。【知识模块】 存储管理26 【正确答案】 最先适应分配算法总是顺序查找空闲区表。找到第一个能满足作业长度要求的空闲区,分割这个空闲区,一部分分配给作业,另一部分仍作为空闲区。由于实现这种算法时总是把空闲区按地址顺序登记在空闲区表中,所以本题中的作业 J1 和 J2 都会被装入到长度为 32 KB 的空闲区,占用了其中 11 KB(1 KB+10 KB)的空间,还剩余 21 KB 的空间仍为空闲区。紧随着的作业 J3 需
25、要 108 KB 的主存空间,故只能将它装入到长度为 228 KB 的第四个空闲区中,装入后还剩余 120 KB 仍为空闲区,把其中的 28 KB 再分配给作业 J4 后剩余的空闲空间为 92 KB。现在系统中仍有五个空闲区,长度依次为 21 KB、 10 KB、5 KB、92 KB 、100 KB,显然都不能满足作业 J5 的 115 KB 的需求量。因此,若采用最先适应分配算法不能把这五个作业按 J1J5 的次序全部装入主存储器。如果仍采用最先适应分配算法则可把对主存需求量大的作业先装入到较大的空闲区中,以避免小的作业去分割大的空闲区,保证大作业有足够的空闲区可使用。若把 J5 先装入到
26、228 KB 的区域中占用其中的 115 KB 后保留一个 113 KB 的空闲区,应把这个空间留给作业 J3,否则 J3 将无法装入。为了使其他作业不去分割这个空闲区,可以再把 J4 装入到第一个空闲区,装入后还剩余 4 KB 空间,把其中的1KB 用来装 J1。然后 J2 正好占用第二个空闲区 10 KB,最后把 J3 装入到 113 KB的区域后剩余 5 KB 空间。最初的第三个空闲区(5 KB) 和第五个空闲区(100 KB) 仍维持空闲状态。所以,采用最先适应分配算法时若按 J5、J4 、J1、J2 、J3 的次序装入,则可充分利用主存空间,把五个作业同时装入主存储器。当然,上述的装
27、入次序不是唯一的。例如,按次序 J5、J3 、J1、J4 、J2 装入,或按 J3、J1 、J4、J2、J5 的次序装入等均是可以的。若采用最先适应分配算法不能把五个作业按 J1 J5 的次序全部装入主存储器。若按 J5、J4 、J1 、J2、J3 的次序装入,则可充分利用主存的空闲空间,把五个作业同时装入主存储器中。【知识模块】 存储管理27 【正确答案】 引入虚拟存储器是为了满足用户对存储器容量的巨大需求而虚构的一个非常大的地址空间,从而使用户在编程序时无须担心存储器容量之不足。【知识模块】 存储管理28 【正确答案】 (1)请求页式管理在作业或进程开始执行之前,不要求把作业或进程的程序段
28、和数据段一次性地全部装入主存,而只把当前需要的一部分页面装入主存,其他部分在作业执行过程中需要时再从辅存上调入主存。(2)当调用页不在主存时发生缺页中断。若主存中没有空闲块时,首先按照某种策略选择某页进行淘汰,以腾出空闲块供本次调入的页占用。若被选中淘汰的页面中的信息修改过(修改位=1) 还必须将其写入辅存。如主存中有空闲块,则根据该页在辅存的地址调入所需页面,并更新页表,最后恢复被中断的指令重新执行。【知识模块】 存储管理29 【正确答案】 本题考查逻辑地址到物理地址的转换、页面置换等。地址转换过程一般是先将逻辑页号取出,然后查找页表,得到页框号,将页框号与页内偏移量相加,即可获得物理地址。
29、若取不到页框号,那么该页不在内存,于是产生缺页中断,开始请求调页。若内存有足够的物理页面,那么可以再分配一个新的页面。若没有页面了,就必须在现有的页面之中找到一个页,将新的页与之置换,这个页可以是系统中的任意一页,也可以是本进程中的一页。若是系统中的一页,则这种置换方式称为全局置换;若是本进程的页面,则称为局部置换。置换时为尽可能地减少缺页中断次数,可以有多种算法来应用,本题使用的是改进的 CLOCK 算法。这种算法必须使用页表中的引用位和修改位,由这 2 位组成 4 种级别,没有引用和没有修改的页面最先淘汰,没有引用但修改了的页面其次,再次淘汰引用了但是没有修改的页面,最后淘汰既引用又修改了的页面,当页面的引用位和修改位相同时,随机淘汰一页。 (1)根据题意,每页 1 024 B,地址又是按字节编址,计算逻辑地址的页号和页内偏移量,合成物理地址如下表所示。 (2)第 2 页不在内存,产生缺页中断,根据改进的 CLOCK 算法,第 3 页为没有引用和没修改的页面,故淘汰。新页面进入,页表修改如下 因为页面 2 调入是为了使用,所以页面 2 的引用位必须改为 1。 地址转换变为如下表: 【知识模块】 存储管理
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1