1、一、单项选择题1联想存储器在计算机系统中是用于_的。A 存储文件信息 B 与主存交换信息C 内存地址变换 D 内存管理信息2作业在执行中发生了缺页中断,经操作系统处理后,应该执行的指令是_。A被中断的前一条 B被中断的后一条C作业的第一条 D被中断的指令在请求分页存储管理中,当指令的执行所需要的内容不在内存中时,发生缺页中断,当缺页调入内存后,应执行被中断指令。 另:缺页中断作为中断与其它中断一样要经历如保护 CPU 环境,分析中断原因,转入缺页中断处理程序进行处理,恢复 CPU 环境等几个步骤,但缺页中断又是一种特殊的中断,它与一般中断相比,有着明显的区别,主要表现在下面两个方面:(1)缺页
2、中断是在指令执行期间产生和处理中断信号的。(2)一条指令的执行期间,可能产生多次缺页中断。3实现虚拟存储器的目的是_。A 实现存储保护 B 实现程序浮动C 扩充外存容量 D 扩充内存容量4在段页式存储系统中,一个作业对应_。A多个段表 B一个段表,一个页表C一个段表,多个页表 D多个段表,多个页表5在虚拟页式存储管理方案中,完成将页面调入内存的工作的是_。A缺页中断处理 B页面淘汰过程 C工作集模型应用 D紧缩技术利用6采用分页式内存管理时,重定位的工作是由_完成的。A操作系统 B用户 C地址转换机构 D内存空间分配程序7在分页式内存管理系统中可能出现的问题是_。A颠簸 B不能共享 C外部碎片
3、 D动态链接8在下列有关分页式内存管理的叙述中正确的是_。A程序和数据是在开始执行前一次性和装入的B产生缺页中断一定要淘汰一个页面C一个被淘汰的页面一定要写回外存D在页面中有“访问位”和 “修改位”等消息9. 在可变式分配方案中,最佳适应算法是将空白区在空白区表中按_次序排列。A 地址递增 B 地址递减 C 容量递增 D 容量递减10. 在可变分区分配方案中,将空白分区按地址递增次序排列是要采用_。A最佳适应算法 B最差适应算法 C首次适应算法 D最迟适应算法11. 通常,采用紧缩法消除内存碎片的存储技术是_。A固定分区法 B动态分区法 C可重定位分区法 D交换技术12. 在请求分页存储管理中
4、,当所访问的页面不在内存时,便产生缺页中断,缺页中断是属于_。A IO 中断 B 程序中断 C 访管中断 D 外中断13. 在内存管理中,分段管理和分页管理的主要区别是_。A分段管理中的块比分页管理中的页要小B分页管理有地址映射而分段管理没有C分页管理有存储保护而分段管理没有D分段管理要求一道程序存放在连续的空间而分页管理没有这种要求14分页式虚拟存储管理系统中,一般地页面的大小与可能产生页错误陷阱的次数_。A成正比 B成反比 C无关 D成固定比值15内存保护需要由_完成,以保证进程空间不被非法访问。A操作系统 B硬件机构C操作系统和硬件机构 D操作系统或硬件机构独立完成16适合多道程序运行的
5、存储管理中,存储保护是为了_。A防止一个作业占用同一个分区 B防止一个作业占用多个分区C防止非法访问磁盘文件 D防止各道作业相互干扰17在可变分区分配方案中,某个作业完成后系统收回其内存空间,并与相邻空闲区合并,为此需修改空闲区表,造成空闲区数减 1 的情况是_。A无上邻空闲区,也无下邻空闲区 B有上邻空闲区,但无下邻空闲区C有下邻空闲区,但无上邻空闲区 D有上邻空闲区,也有下邻空闲区18在目标程序装入内存时,一次性完成地址修改的方式是_。A静态重定位 B动态重定位 C静态链接 D动态链接19. 虚存是_。A 容量扩大了的内存 B 提高运算速度的设备C 实际不存在的存储器 D 进程的地址空间及
6、其内存扩大方法20下面关于虚拟存储器的叙述中正确的是_。A要求程序运行前必须全部装入内存,且在运行过程中一直驻留在内存B要求程序运行前不必全部装入内存,且在运行过程中不必一直驻留在内存C要求程序运行前不必全部装入内存,但在运行过程中必须一直驻留在内存D要求程序运行前必须全部装入内存,但在运行过程中不必一直驻留在内存21. 在一个可变式分区管理中,最差适应算法应将空闲区按_的次序排列。A 地址递增 B 地址递减 C 容量递增 D 容量递减22. 采用固定分区方式分配主存的最大缺点是_。A 不利于存储保护 B 分配算法复杂C 主存利用率不高 D 零头太多23. 存储管理方案中,_可采用覆盖技术。A
7、 单一连续区 B 可变分区 C 段式 D 段页式24. 关于分页管理系统的页面调度算法说法中错误的是_。A一个好的页面调度算法应减少和避免颠簸现象BFIFO 调度算法实现简单,选择最先进入内存的页面调出CLRU 调度算法是基于局部性原理的算法,首先调出最近一段时间未被访问过的页面DCLOCK 调度算法首先调出一段时间内被访问次数多的页面LFU 调度算法,即最不经常使用(Least Frequently Used,LFU)算法,选择近期最少访问的页面进行替换。这种算法容易与 LRU 算法混淆,是因为翻译的原因。实际上,LRU 应该翻译为最久没有使用算法比较符合原意,这样就容易理解:LFU 记录页
8、面访问的“多少”,而 LRU 记录“有无”页面访问,前者更加复杂。二、简答题1. 什么是动态链接?用何种内存分配方法可以实现这种链接?动态链接就是指当程序运行到需要调用一块时,再去链接它。对于未使用的模块,就可以不必链接。采用段式内存分配凡方法实现这种链接技术。2. 为什么静态重定位后的程序在内存中不能移动?为什么动态重定位的程序在内存中可以移动?或:静态重定位和动态重定位的不同在于:静态重定位是在作业装入的时候一次完成,动态重定位是在作业执行时再实现的。静态重定位是软件支持的,动态重定位是硬件和软件合作实现的。静态重定位不能实现主存的移动,而动态重定位可以。3. 存储管理的主要任务是什么?对
9、主存储器中的用户区域进行管理;(1 分) 主存空间的分配和回收;(1 分) 主存空间的共享和保护;(1 分) 地址转换(重定位)以及主存空间的扩充(虚拟存储器技术) 。 (1 分)4. 快表的引入为何能明显改进系统性能?(1) 存储器访问具有时间和空间的“局部性”,因此快表的命中率一般可达 70%到 90%;(2) 页表是在系统执行过程中,每时每刻都需要访问的,因此,访问时间的微小缩短,其累计节约的时间却可以达到很大。5. 分页存储管理与分段管理的主要区别是什么?提出分页管理和分段管理的目的是什么? 分页和分段的主要区别 页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内
10、存的利用率。或者说,分页仅仅是由于系统管理的需要而不是用户的需要。段则是信息的逻辑单位,它含有一组其意义相对完整的信息。 分段的目的是为了能更好地满足用户的需要。 页的大小固定且由系统决定,由系统把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而在系统中只能有一种大小的页面;而段的长度却不固定, 决定于用户所编写的程序,通常由编译程序在对源程序进行编译时,根据信息的性质来划分。 分页的作业地址空间是一维的,即单一的线性地址空间,程序员只需利用一个记忆符,即可表示一个地址; 而分段的作业地址空间则是二维的,程序员在标识一个地址时,既需给出段名, 又需给出段内地址。 提出分页管理的目的
11、是为了提高内存空间的利用率;提出分段管理的目的除了可以提高内存空间的利用率(相对分区管理而言)外,主要是为了更好的实现程序的共享和动态链接,方便用户编程。6. 虚存管理与实存管理的根本区别是什么?根本区别就在于,虚拟管理允许部分装入和部分对换,而实存管理不允许这样做。所谓“部分装入“,指的是一道应用程序不是全部装入内存以后才开始执行而是只装入其中一部分,甚至一点都不装入就开始运行,然后在运行的构成中根据需要逐步的装入其余部分;“部分对换“,指的是当内存已满而又有新的将“部分“需要装入时,要把已在内存的某一“部分“换出去,以腾出空间存放新来者。部分装入和部分对换的结果是可以用较小的内存运行较大的
12、程序。实存管理则不同,它所要求的是整体装入。7. 分页存储管理、分段存储管理虚地址到物理地址的转换过程。分页存储管理:在 CPU 给出有效地址后,由地址变换机构自动地将页号 P 送入高速缓冲寄存器,并将此页号与高速缓存中的所有页号进行比较,若其中有与此相匹配的页号,便表示所要访问的页表项在快表中。于是,可直接从快表中读出该页所对应的物理块号,并送到物理地址寄存器中。如在块表中未找到对应的页表项,则还须再访问内存中的页表,找到后,把从页表项中读出的物理块号送地址寄存器;同时,再将此页表项存入快表的一个寄存器单元中,亦即,重新修改快表。但如果联想寄存器已满,则 OS 必须找到一个老的且已被认为不再
13、需要的页表项,将它换出。分段存储管理:系统设置一对寄存器 段表始址寄存器(STBR) 用于保存正在运行进程的段表的始址。 段表长度寄存器(STLR) 用于保存正在运行进程的段表的长度。 地址变换机构 将逻辑地址中的段号与段表长度 STLR 进行比较。若 SSTLR,表示段号太大,访问越界,产生越界中断信号; 根据段表的始址和该段的段号,计算出该段对应段表项的位置,从中读出该段在内存的起始地址,然后,再检查段内地址 d 是否超过该段的段长 SL。若超过,即 dSL,发出越界中断信号; 将该段的基址 d 与段内地址相加,即可得到要访问的内存物理地址。8. 在采用首次适应算法回收内存时,可能会出现几
14、种情况,该如何处理?a. 回收区与插入点的前一个分区相邻接,此时可将回收区与插入点的前一分区合并,不再为回收分区分配新表项,而只修改前邻接分区的大小; b. 回收分区与插入点的后一分区相邻接,此时合并两区,然后用回收区的首址作为新空闲区的首址,大小为两者之和; c. 回收区同时与插入点的前后两个分区邻接,此时将三个分区合并,使用前邻接分区的首址,大小为三区之和,取消后邻接分区的表项; d. 回收区没有邻接空闲分区,则应为回收区单独建立一个新表项,填写回收区的首址和大小,并根据其首址,插入到空闲链中的适当位置.9. 影响缺页中断率有哪几个主要因素?影响缺页中断率的因素有四个: 分配给作业的主存块
15、数多则缺页率低,反之缺页中断率就高。 页面大,缺页中断率低;页面小缺页中断率高。 程序编制方法。以数组运算为例,如果每一行元素存放在一页中,则按行处理各元素缺页中断率低;反之,按列处理各元素,则缺页中断率高。 页面调度算法对缺页中断率影响很大,但不可能找到一种最佳算法。10. 什么叫碎片?(零散的小空闲区 ) 怎样解决碎片问题?答:所谓碎片是指内存中出现的一些零散的小空闲区域。解决碎片的方法是移动所有占用区域,使所有的空闲区合并成一片连续区域。这一过程称为紧凑,这一技术就是紧凑技术。11. “抖动”的原因?预防方法? 抖动,又称为颠簸 在虚存中,页面在内存与外存之间频繁调度,以至于调度页面所需
16、时间比进程实际运行的时间还多,此时系统效率急剧下降,甚至导致系统崩溃。这种现象称为颠簸或抖动。 原因 页面淘汰算法不合理 分配给进程的物理页面数太少抖动的预防办法: 采用局部置换策略 把抖动影响局限在单个进程内 把工作集算法融入到处理机调度中 调度前检查每个进程在内存中驻留页面是否足够多,如果够则调入新的作业,否则为缺页率高的进程增加物理块。 利用“L=S”准则调节缺页率 L 是缺页之间的平均时间,S 处理一次缺页的时间。 选择暂停的进程降低多道程序度三、应用题1. 在一个采用页式虚拟存储管理的系统中,某进程依次要访问的字地址是:115,228,128,88,446,102,321,432,2
17、60,167。若作业的第 0 页已经装入内存,现分配给该作业的主存共 300 字,页面的大小为 100 字。请回答以下问题:(1)按 FIFO 调度算法将产生多少次缺页中断,依次淘汰的页号是什么?给出计算过程。(2)按 LRU 调度算法将产生多少次缺页中断,依次淘汰的页号是什么?给出计算过程。2. 有一个系统其内存容量为 1024KB,有 8 个作业同时到达,各作业需要的内存量何运行时间如表所示:作业编号 需要内存量(KB) 运行时间(s)1 140 32 80 13 100 34 60 25 50 16 30 37 15 28 20 3假定系统初启时,将内存 1024KB 按作业的编号顺序分
18、给各道作业,并假定是多 CPU 下,分配到内存的作业都可以立即运行。问:(1)1s 后,内存空白区按首次适应何最佳适应算法的链接方式链接,将如何链接?(2)2s 后,其内存空白区按上述两种算法如何链接?(3)在(2)后,此时有一个作业 9要求进入内存,它需要内存量为 12KB,按上述两种算法,将把哪一块空白区分给它?3. 设某计算机的逻辑地址空间和物理地址空间都是 64KB,按字节编址。若某进程最多需要 6 页(page)数据存储空间,每页大小为 1KB。操作系统采用固定分配局部淘汰策略为此进程分配 4 个页帧(page frame) 。页号 页框(page frame )号 装入时刻 有效位
19、(存在位)0 7 130 11 4 230 12 2 200 13 9 160 1当该进程执行到时刻 260 时,需要访问逻辑地址 17CAH 的数据,请回答下列问题:(1)该逻辑地址对应的页号是多少?(2)若采用先进先出(FIFO)换页算法,该逻辑地址对应的物理地址是多少?要求给出计算过程。(3)若采用时钟(Clock)换页算法,该逻辑地址对应的物理地址是多少?要求给出计算过程。(设搜索下一页的指针沿顺时针方向移动,且当前指示第 2 页,示意图如下)0 号页 1 号页2 号页3 号页4. 一个好的页面替换算法应使缺页中断次数最少,一种方法是将正使用的页均匀地分散在整个存储区中。可以给每一页框
20、附加一个计数器,用它记录与该页框相关的页的个数。当进行页面替换时,选择其计数器之值最小的那个页框。(1) 利用上述思想,提出一个页面替换算法,并回答下面的问题:A. 该计教器的初值是多少?B. 该计数器何时增值?C. 该计数器何时减值?D. 如何选择被替换的页?(2) 若有 4 个页框,给定下面的页访问串,使用你的算法将会出现多少次缺页中断?1、2、3、4、5、3、4、1、6、7 、4、3、8、5、9、7、8、9、5、4、5、4、2(3) 给定(2) 中同样的条件和访问串,若采用最佳页面替换算法,其缺页中断次数的最小值是多少?5. 一个采用请求式存储管理的计算机系统,其主存(实存)容量为 25
21、6M 字节,虚存容量(给用户的最大地址空间)为 4G 字节,页面大小为 4K 字节,试问: (1) 主存物理地址应设为多少位?(2) 主存中有多少物理块?(3) 虚拟地址应该设多少位?(4) 虚拟地址空间最多可以有多少页?(5) 页内最大和最小偏移量是多少?参考答案一、选择题CADCA CADCC CBDBC DDADB DCAD二、简答题1.动态链接就是指当程序运行到需要调用某一模块时,再去链接。对于未使用的模块就可以不必链接。采用段式内存分配方法可以实现这种动态链接。2.静态重定位后的程序在内存中不能移动的原因如下:静态重定位后的程序的代码发生了变化,由原来逻辑地址的程序已经变为物理地址的
22、程序,按物理地址的方式运行,因此不能再进行移动。动态重定位的程序在内存中可以移动的原因如下:动态重定位是在程序运行过程中由硬件进行地址变换,变换的结果存放在内存地址寄存器中。程序代码并没有发生变化,仍然是逻辑地址的代码,按逻辑地址的方式运行。因此,在内存中移动程序代码之后,仅需要根据代码新的起始位置,重新设定基地址寄存器的值。3.存储管理的主要任务时主存存储分配、地址变换、存储保护和存储扩充4.快表的能明显改进系统的性能的原因如下:(1)存储器访问具有时间和空间的“局部性“ ,因此快表的命中率一般可达 7090。(2)在系统执行过程中,每时每刻都需要访问页表,因此,访问时间的微笑缩短,其累计节
23、约的时间就很大。5.分页与分段存储管理的主要区别如表所列分页 分段一维连续逻辑地址空间 二维逻辑地址空间页是信息的物理单位 段是信息的逻辑单位页是面向系统的 段是面向用户的页内的信息逻辑上是不可能完整的 段内的信息在逻辑上是完整的 页的大小固定,由系统划分 段长可变对用户透明 用户可见便于存储保护 适于动态链接和共享以页长为单位分配空间不需要紧凑技术 以段长为单位分配空间以页为单位进行交换 以段为单位进行交换存在内零头 存在外零头,需采用紧凑技术提出分页管理的目的是为了提高内存空间的利用率;提出分段管理的目的除了可以提高内存空间的利用率(相对分区管理而言)外,主要是为了更好的实现程序的共享和动
24、态链接,方便用户编程。6.根本区别就在于,虚拟管理允许部分装入和部分对换,而实存管理不允许这样做。所谓“部分装入“,指的是一道应用程序不是全部装入内存以后才开始执行而是只装入其中一部分,甚至一点都不装入就开始运行,然后在运行的构成中根据需要逐步的装入其余部分;“部分对换“ ,指的是当内存已满而又有新的将“部分 “需要装入时,要把已在内存的某一 “部分“ 换出去,以腾出空间存放新来者。部分装入和部分对换的结果是可以用较小的内存运行较大的程序。实存管理则不同,它所要求的是整体装入。7.参考讲义8.(1)回收区与插入点的前一个空闲分区 F1 相邻接,此时应将回收区与插入点的前一分区合并,不必为回收分
25、区分配新表项,而只须修改其前一分区 F1 的大小。(2)回收区与插入点的后一个空闲分区 F2 相邻接,此时应将两分区合并,形成新的空闲分区,但用回收区的首址作为新空闲分区的首址,大小为两者之和。(3)回收区同时与插入点的前、后两个分区邻接,此时将三个分区合并,使用 F1 的表项和 F1的首址,取消 F2 的表项,大小为三者之和。(4)回收区既不与 F1 邻接,又不与 F2 邻接。这时应为回收区单独建立一新表项,添写回收区的首址和大小,并根据其首址插入到空闲链中的适当位置。9.影响缺页中断率的因素有四个: 分配给作业的主存块数多则缺页率低,反之缺页中断率就高。 页面大,缺页中断率低;页面小缺页中断率高。 程序编制方法。以数组运算为例,如果每一行元素存放在一页中,则按行处理各元素缺页中断率低;反之,按列处理各元素,则缺页中断率高。 页面调度算法对缺页中断率影响很大,但不可能找到一种最佳算法。10.