1、计算机学科专业基础综合计算机操作系统-5 及答案解析(总分:100.00,做题时间:90 分钟)一、B综合应用题/B(总题数:43,分数:100.00)1.何谓静态链接、装入时动态链接和运行时动态链接?(分数:3.00)_2.引入动态重定位的目的是什么?(分数:3.00)_3.为什么要引入段页式存储管理?说明在段页式存储管理系统中的地址变换过程。(分数:3.00)_4.在采用首次适应算法回收内存时,可能出现哪几种情况?应怎样处理这些情况?(分数:3.00)_5.有一个程序要把 100100 的数组置初值“0”,现假定有两个主存块可用来存放数组中的元素,每个主存块可以存放 200 个数组元素,数
2、组中的元素按行编址。两个主存块的初始状态都为空,若程序编制如下:(1)Var A:array1100 of array1100 of integer; for j:=1 to 100 do for i=1 to 100 do Ai,j:=0 (2)Var A:array1100 of array1100 of integer; for i:=1 to 100 d0 for j:=1 to 100 do Ai,j:=0 当采用 LRU 页面调度算法时,对上述两种程序编制方法各会产生多少次缺页中断?(分数:3.00)_6.假定某采用页式存储管理的系统中,主存容量为 1MB,被分成 256 块,块号
3、为 0,1,2,255。现有一个共 4 页(页号为 0、1、2、3)的作业被依次装入到主存的第 2、4、1、5 块中。请问: (1)主存地址应该用多少位来表示? (2)作业每一页的长度为多少字节?逻辑地址中的页内地址部分应占用多少位? (3)把作业中每一页占用的主存块起始地址填入下表。 页号 起始地址0123(4)若作业执行中要从第 0 页的第 75 单元和第 3 页的第 548 单元读信息,那么实际应从主存的哪两个单元读信息?请把应访问的主存绝对地址用二进制编码的十六进制数表示。(分数:3.00)_7.某采用段式存储管理的系统为装入主存的一个作业建立了如下的段表: 段号 段长 主存起始地址0
4、 660 2191 140 33002 100 903 580 12374 960 1959请计算该作业访问0,432H,1,010H,2,500H,3,400H时(方括号中第一个元素为段号,第二个元素为段内地址)的绝对地址。处理器能按计算出来的绝对地址存取信息吗?(分数:3.00)_8.为什么要引入动态分段存储管理?它与请求页式存储管理有什么区别?(分数:3.00)_9.请较详细地说明,引入分段存储管理是为了满足用户哪几方面的需要?(分数:2.00)_10.段页式存储管理方式中如何实现地址变换?(分数:2.00)_11.为什么说分段系统较之分页系统更易于实现信息共享和保护?(分数:2.00)
5、_12.分页和分段有何区别?(分数:2.00)_13.试全面比较连续分配和离散分配方式。(分数:2.00)_14.在一个采用分页式虚拟存储管理的系统中,有一用户作业,它依次要访问的字地址序列是115,228,120,88,446,102,321,432,260,167。若分配给作业可使用的主存空间共 300 个字,作业的页面大小为 100 个字,且第 0 页已经装入主存,请回答下列问题: (1)按 FIFO 页面调度算法将产生多少次缺页中断?写出依次淘汰的页号。 (2)按 LRU 页面调度算法将产生多少次缺页中断?写出依次淘汰的页号。(分数:2.00)_15.何谓静态分配?何谓动态分配?(分数
6、:2.00)_16.什么是地址重定位?怎样区分静态重定位和动态重定位?各有什么优缺点?(分数:2.00)_17.分区分配有哪几种?试比较各种分区分配的优缺点。(分数:2.00)_18.试述最佳、最差、最先适应算法的基本思想,并指出它们各自的优缺点。(分数:2.00)_19.什么是存储器的内零头和外零头?它们是怎么造成的?减少它们应采取什么措施?(分数:2.00)_20.试述分页存储管理的基本实现原理,并说明如何实现从逻辑空间到物理空间的变换?(分数:2.00)_21.用可变分区方式管理主存时,假定主存中按地址顺序依次有五个空闲区,空闲区的大小依次为32KB、10KB、5KB、228KB、100
7、KB。现有五个作业 J1、J2、J3、J4,J5,它们各需主存量为1KB、10KB、108KB、28KB,115KB。若采用最先适应分配算法,能把这五个作业按 J1J5 的次序全部装入主存吗?按怎样的次序装入这五个作业可以将其全部装入主存?(分数:2.00)_22.为什么要引入虚拟存储器的概念?(分数:2.00)_23.请求分页和简单分页两种存储管理方案有何不同?缺页中断是如何发生的?发生缺页中断时如何处理?(分数:2.00)_24.某一计算机系统采用虚拟页式存储管理方式,当前在处理机上执行的某一个进程的页表如下所示,所有的数字均为十进制,每一项的起始编号是 0,并且所有的地址均按字节编址,每
8、页的大小为 1024B。 逻辑页号 存在位 引用位 修改位 叶框号 0 1 1 0 41 1 1 1 32 0 0 0 3 1 0 0 1 4 0 0 0 5 1 0 1 5 (1)将下列逻辑地址转换为物理地址,写出计算过程,对不能计算的说明为什么? 0793,1197,2099,3320,4188,5332 (2)假设程序欲访问第 2 页,页面置换算法为改进的 CLOCK 算法,请问该淘汰哪页?如何修改页表?上述地址的转换结果是否改变?变成多少?(分数:2.00)_25.什么是文件的物理结构?它有哪几种组织方式?(分数:2.00)_26.叙述各种文件物理组织方式的主要优缺点。(分数:2.00
9、)_27.一个 UNIX 文件 F 的存取权限为 rwxr-x-,该文件的文件主 uid=12,gid=1,另一个用户的uid=6,gid=1,是否允许该用户执行文件 F?(分数:2.00)_28.一个 UNIX/Linux 文件,如果一个盘块的大小为 1KB,每个盘块占 4B,那么,若进程欲访问偏移为263168B 处的数据,需经过几次间接寻址?(分数:2.00)_29.如果一个索引节点为 128B,指针长 4B,状态信息占用 68B,而每块大小为 8KB。问在索引节点中有多大空间给指针?使用直接、一次间接、二次间接和三次间接指针分别可表示多大的文件?(分数:2.00)_30.文件系统的模型
10、可分为 3 层,试说明其每一层所包含的基本内容。(分数:2.00)_31.试说明关于索引文件和索引顺序文件的检索方法。(分数:2.00)_32.解释关于树形目录结构采用线性检索法的检索过程。(分数:2.00)_33.空闲磁盘空间的管理常采用哪几种方式?UNIX 系统采用的是何种方式?(分数:2.00)_34.试分析,在第一级磁盘容错技术和第二级磁盘容错技术中,各采取了哪些容错措施?什么是写后读校验?(分数:2.00)_35.磁带卷上记录了若干文件,假定当前磁头停在第 j 个文件的文件头标前,现要按名读出文件 i,试给出读出文件 i 的步骤。(分数:2.00)_36.某操作系统的磁盘文件空间共有
11、 500 块,若用字长为 32 位的位示图管理磁盘空间,试问:(1)位示图需多少个字?(2)第 i 字第 j 位对应的块号是多少?(3)给出申请/归还一块的工作流程。(分数:2.00)_37.若两个用户共享一个文件系统,用户甲使用文件 A、B、C、D、E,用户乙要用到文件 A、D、E、F。已知用户甲的文件 A 与用户乙的文件 A 实际上不是同一文件;甲、乙两用户的文件 D 和 E 恰是同一文件。试设计一种文件系统组织方案,使得甲、乙两用户能共享该文件系统而又不致造成混乱。(分数:2.00)_38.在 UNIX 中,如果一个盘块的大小为 1KB,每个盘块号占 4B,即每块可放 256 个地址。请
12、转换下列文件的字节偏移量为物理地址:(1)9999,(2)18000,(3)420000。(分数:3.00)_39.简述 DMA 的工作流程。(分数:3.00)_40.假定一磁盘有 200 个柱面,编号为 0199,当前存取臂的位置在 143 号柱面上,并刚刚完成 125 号柱面的服务请求,如果请求队列的先后顺序是 86,147,91,177,94,150,102,175,130,试问:为完成上述请求,下列算法存取臂移动的总量是多少?并写出存取臂移动的顺序。 (1)FCFS; (2)SSTF; (3)SCAN; (4)CSCAN。(分数:3.00)_41.什么是逻辑设备?什么是物理设备?如何实
13、现从逻辑设备到物理设备的变换?这样做有什么好处?(分数:3.00)_42.简述字节多路通道、数组选择通道和数组多路通道。(分数:3.00)_43.请简述 SPOOLing 系统的实现思想。(分数:3.00)_计算机学科专业基础综合计算机操作系统-5 答案解析(总分:100.00,做题时间:90 分钟)一、B综合应用题/B(总题数:43,分数:100.00)1.何谓静态链接、装入时动态链接和运行时动态链接?(分数:3.00)_正确答案:(1)静态链接是指事先进行链接形成一个完整的装入模块,以后不再拆开的链接方式。 (2)装入时动态链接是指目标模块在装入内存时,边装入边链接的链接方式。 (3)运行
14、时的动态链接是将某些目标模块的链接推迟到执行时才进行。)解析:2.引入动态重定位的目的是什么?(分数:3.00)_正确答案:(1)为了在程序执行过程中,每当访问指令或数据时,将要访问的程序或数据的逻辑地址转换成物理地址,引入了动态重定位。 (2)可在系统中增加一个重定位寄存器,用它来装入(存放)程序在内存中的起始地址,程序在执行时真正访问的内存地址是相对地址与重定位寄存器中的地址相加而形成的,从而实现动态重定位。)解析:3.为什么要引入段页式存储管理?说明在段页式存储管理系统中的地址变换过程。(分数:3.00)_正确答案:(1)为了获得分段在逻辑上的优点和分页在管理存储空间方面的优点,兼用分段
15、和分页两种方法,设计出了段页式存储管理技术来实现对存储器的管理。 (2)地址变换过程如下: 首先,由段表控制寄存器确定段表在主存中的位置。 其次,将虚地址中的段号和控制寄存器中的段表大小比较,以确保其访问的有效性。 最后,硬件地址转换机构根据虚地址中的段号 s,得到欲访问段在该作业的段表中的表目,并验证存取权限,以确保本次存储访问是允许的。然后,检查分段存在标识(判状态位),如果访问的段在主存,则通过段表找到该段的页表存放地址,再根据虚地址中的页号 P 查页表,找到该页所对应的内存块号与虚地址中的页内地址 d 相加形成物理地址;若访问的分段不在主存,则由硬件产生缺段中断。如果一完整的分段不在主
16、存,则说明该段所有的页面均不在主存,因而也没有相应的页表。操作系统对缺页中断响应后,必须重新构造其页表,并装入一个或多个所需的页面。此时,开始继续执行本次的存储访问。当页表的位置和大小确定后,其存储访问过程如先前描述过的页面系统一样进行。)解析:4.在采用首次适应算法回收内存时,可能出现哪几种情况?应怎样处理这些情况?(分数:3.00)_正确答案:(1)回收区与插入点的前一个分区相邻接,此时可将回收区与插入点的前一分区合并,不再为回收分区分配新表项,而只修改前邻接分区的大小。 (2)回收区与插入点的后一分区相邻接,此时合并两区,然后用回收区的首址作为新空闲区的首址,大小为两者之和。 (3)回收
17、区同时与插入点的前后两个分区邻接,此时将三个分区合并,使用前邻接分区的首址,大小为三区之和,取消后邻接分区的表项。 (4)回收区没有邻接空闲分区,则应为回收区单独建立一个新表项,填写回收区的首址和大小,并根据其首址,插入到空闲链中的适当位置。)解析:5.有一个程序要把 100100 的数组置初值“0”,现假定有两个主存块可用来存放数组中的元素,每个主存块可以存放 200 个数组元素,数组中的元素按行编址。两个主存块的初始状态都为空,若程序编制如下:(1)Var A:array1100 of array1100 of integer; for j:=1 to 100 do for i=1 to
18、100 do Ai,j:=0 (2)Var A:array1100 of array1100 of integer; for i:=1 to 100 d0 for j:=1 to 100 do Ai,j:=0 当采用 LRU 页面调度算法时,对上述两种程序编制方法各会产生多少次缺页中断?(分数:3.00)_正确答案:(根据题意,主存块的大小为每块可存放 200 个数组元素,故作业信息也按每页 200 个元素来划分。现作业信息是由 100100 的数组元素组成,因而共被分成 50 页。由于作业信息是按行编址的,故每顺序的两行元素在同一页面中,可被同时装到一个主存块中。有两个主存块可供该程序使用,
19、因而程序被装入主存时可把开始两页(共四行元素)的信息分别装入两个主存块。那么,程序执行时若按(1)的编制方法,将对每一列中的各元素顺序清零,即对一列中的元素都清零后再对下一列的元素清零。由于开始两页已被装入主存,所以第一列的四个元素将首先被顺序清零。但当要对第一列的第五个元素清零时却发现该元素不在主存中,因而产生一次缺页中断,按 LRU 调度算法应淘汰最近最少使用的第一页,使腾出的主存空间可用来存放当前需访问的第三页,即装入第五、六两行元素。程序继续执行时每对两个元素初始化后都要产生一次缺页中断,因而对第一列的 100 个元素初始化会产生(50-2)次缺页中断。对以后的 99 列来说,为对每一
20、列元素初始化都将产生 50 次缺页中断,故(1)的编制方法执行程序时总共会产生(50100-2)次缺页中断。若按(2)的编制方法,将对一行的元素都清零后再对下一行的元素清零。因而,开始的两页(四行元素)信息先被初始化。当要对第五行元素初始化时将产生缺页中断,按 LRU 调度算法淘汰最近最少用的第一页后可把当前需访问的包含第五、六两行元素的第三页装入主存。程序继续执行时每对两行元素全部初始化后才产生一次缺页中断,因而共会产生 50-2 次缺页中断。 因此,程序被装入主存时可把开始两页(四行)装入所分到的主存块中。对于(1)所编制的程序执行时将按列对元素初始化,除对第一列的前四个元素初始化时不会产
21、生缺页中断外,以后每对两个元素初始化时都要产生一次缺页中断,故缺页中断次数为 50100-2 次。 对于(2)所编制的程序执行时将按行对元素初始化,除对前四行元素初始化时不会产生缺页中断外,以后每对两行元素初始化时都要产生一次缺页中断,故缺页中断次数为 50-2 次。)解析:6.假定某采用页式存储管理的系统中,主存容量为 1MB,被分成 256 块,块号为 0,1,2,255。现有一个共 4 页(页号为 0、1、2、3)的作业被依次装入到主存的第 2、4、1、5 块中。请问: (1)主存地址应该用多少位来表示? (2)作业每一页的长度为多少字节?逻辑地址中的页内地址部分应占用多少位? (3)把
22、作业中每一页占用的主存块起始地址填入下表。 页号 起始地址0123(4)若作业执行中要从第 0 页的第 75 单元和第 3 页的第 548 单元读信息,那么实际应从主存的哪两个单元读信息?请把应访问的主存绝对地址用二进制编码的十六进制数表示。(分数:3.00)_正确答案:(1)主存地址应该用 20 位来表示。(2)作业每一页的长度应为 212=4096B,逻辑地址中的页内地址部分应占用 12 位。(3)作业中每一页占用主存块的起始地址为: 页号 起始地址0 8K1 16K2 4K3 20K(4)若作业执行中要从第 0 页的第 75 单元读信息,则实际应从主存的第 2 块第 75 单元读,应访问
23、的主存绝对地址用二进制编码的十六进制数表示为 204BH。若要从第 3 页的第 548 单元读信息,则实际应从主存的第 5 块第 548 单元读,应访问的主存绝对地址用二进制编码的十六进制数表示为 05224H。)解析:7.某采用段式存储管理的系统为装入主存的一个作业建立了如下的段表: 段号 段长 主存起始地址0 660 2191 140 33002 100 903 580 12374 960 1959请计算该作业访问0,432H,1,010H,2,500H,3,400H时(方括号中第一个元素为段号,第二个元素为段内地址)的绝对地址。处理器能按计算出来的绝对地址存取信息吗?(分数:3.00)_
24、正确答案:(段式存储管理支持用户的分段观点,以段为单位进行存储空间的管理。段式存储管理为作业的每一段分配一个连续的主存区域,用来存放各段的信息。段式存储管理要有硬件的地址转换机构作支撑,作业执行时按逻辑地址中的段号查段表得该段在主存中的起始地址,起始地址加段内地址便是当前要访问的绝对地址。为保证信息的安全,这个绝对地址如果在该段的存储区域内则可以访问,否则将产生一个地址越界中断来拒绝访问。本题中,作业访问0,432、1,010、3,400时,由于段内地址均在段长所限制的范围之内,因而绝对地址不会超出该段所占的主存区域,处理器可按绝对地址存取信息。但是,作业访问2,500时段内地址超过了规定的段
25、长 100,因而处理器拒绝为其存取信息。因此,各次访问时所对应的绝对地址(假设均采用十六进制数表示)如下: 逻辑地址0,432H1,010H2,500H3,400H绝对地址64BH3310H590H1637H除了对2,500H的访问请求超出了规定的存储区域使处理器拒绝存取信息外,其余的访问请求都将由处理器按绝对地址为其存取信息。)解析:8.为什么要引入动态分段存储管理?它与请求页式存储管理有什么区别?(分数:3.00)_正确答案:(1)一个大的进程可能包含很多个程序模块。对它们进行链接要花费大量的 CPU 时间,而实际执行时则可能只用到其中的一小部分模块。因此,从减少 CPU 开销和减少存储空
26、间浪费的角度来看,静态链接是不合适的,因此引入动态分段存储管理。 (2)它与请求页式存储管理的区别: 第一,分页的作业地址空间是单一的线性地址空间,而分段作业的地址空间是二维的。 第二,页是信息的物理单位,大小固定;段是信息的逻辑单位,其长度不定。 第三,分页管理实现的是单段式虚拟存储系统,而分段存储管理实现的是多段式虚拟存储系统。)解析:9.请较详细地说明,引入分段存储管理是为了满足用户哪几方面的需要?(分数:2.00)_正确答案:(1)方便了编程; (2)实现了分段共享; (3)实现了分段保护; (4)实现了动态链接; (5)实现了动态增长。)解析:10.段页式存储管理方式中如何实现地址变
27、换?(分数:2.00)_正确答案:(首先,必须配置一段表寄存器,在其中存放段表始址和段长 TL。进行地址变换时,先利用段号 S,与段长 TL 进行比较,若 STL,表示未越界(若 STL,表示段号太大,访问越界,产生越界中断信号),于是利用段表始址和段号来求出该段对应的段表项在段表中的位置,从中求出该段的页表始址,并利用逻辑地址中的段内页号 P 来获得对应页的页表项位置,从中读出该页所在的物理块号 b,再用块号b 和页内地址构成物理地址。)解析:11.为什么说分段系统较之分页系统更易于实现信息共享和保护?(分数:2.00)_正确答案:(1)对于分页系统,每个页面是分散存储的,为了实现信息共享和
28、保护,则页面之间需要一一对应起来,为此需要建立大量的页表项。 (2)对于分段系统,每个段都从 0 开始编址,并采用一段连续的地址空间,这样在实现共享和保护时,只需为所要共享和保护的程序设置一个段表项,将其中的基址与内存地址一一对应起来即可。)解析:12.分页和分段有何区别?(分数:2.00)_正确答案:(1)共同点是:分页和分段都采用离散分配的方式,且都要通过地址映射机构来实现地址变换。(2)不同点是: 第一,从功能上看,页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率,即满足系统管理的需要,而不是用户的需要;而段是信息的逻辑单位,它含有一组其意义相对完整的信
29、息,目的是为了能更好地满足用户的需要。 第二,页的大小固定且由系统确定,而段的长度却不固定,决定于用户所编写的程序。 第三,分页的作业地址空间是一维的,而分段的作业地址空间是二维的。)解析:13.试全面比较连续分配和离散分配方式。(分数:2.00)_正确答案:(1)连续分配是指为一个用户程序分配一个连续的地址空间,包括单一连续分配方式和分区式分配方式。前者将内存分为系统区和用户区,系统区供操作系统使用,用户区供用户使用,是最简单的一种存储方式,但只能用于单用户单任务的操作系统中。分区式分配方式分为固定分区和动态分区。固定分区是最简单的多道程序的存储管理方式,由于每个分区的大小固定,必然会造成存
30、储空间的浪费。动态分区是根据进程的实际需要,动态地将之分配为连续的内存空间,常用三种分配算法:首次适应算法 FF,该法容易留下许多难以利用的小空闲分区,加大查找开销;循环首次适应算法,该算法能使内存中的空闲分区分布均匀,但会致使缺少大的空闲分区;最佳适应算法,该算法也易留下许多难以利用的小空闲分区。(2)离散分配方式基于将一个进程直接分散地分配到许多不相邻的分区中的思想,分为分页式存储管理、分段式存储管理和段页式存储管理。分页式存储管理旨在提高内存利用率,满足系统管理的需要;分段式存储管理则旨在满足用户(程序员)的需要,在实现共享和保护方面优于分页式存储管理;而段页式存储管理则是将两者结合起来
31、,取长补短,既具有分段系统便于实现、可共享、易于保护、可动态链接等优点,又能像分页系统那样很好地解决外部碎片的问题以及为各个分段可离散分配内存等问题,显然是一种比较有效的存储管理方式。 (3)综上可见,连续分配方式和离散分配方式各有各的特点,应根据实际情况加以改进和利用。)解析:14.在一个采用分页式虚拟存储管理的系统中,有一用户作业,它依次要访问的字地址序列是115,228,120,88,446,102,321,432,260,167。若分配给作业可使用的主存空间共 300 个字,作业的页面大小为 100 个字,且第 0 页已经装入主存,请回答下列问题: (1)按 FIFO 页面调度算法将产
32、生多少次缺页中断?写出依次淘汰的页号。 (2)按 LRU 页面调度算法将产生多少次缺页中断?写出依次淘汰的页号。(分数:2.00)_正确答案:(由于作业的页面大小为 100 个字,因而主存块的大小也为 100 个字。现该作业可使用的主存空间共 300 个字,即共可使用三个主存块。根据作业依次要访问的字地址,可以得到作业将依次访问的页如下: 次序所要访问的字地址该地址所在页号1 115 12 228 23 120 14 88 05 446 46 102 17 321 38 432 49 260 210 167 1现只有第 0 页已经在主存但尚有两块主存空间可供使用,所以作业执行时依次访问第 1 页和第 2 页时均要产生缺页中断,但不必淘汰已在主存中的页面,可把第 1 页和第 2 页装入到可使用的主存块中,现在主存中已有 0、1、2 三个页面的信息。在进行第三、第四次访问时不会产生缺页中断,而在第五次访问第 4 页时将产生一次缺页中断。此时,若采用 FIFO 算法应淘汰最先装入主存的第 0 页,而采用 LRU 算法则应淘汰最近最久没有使用的第 2 页。显然,进行第六次访问不会产生缺页中断,而在第七次访问时必须经缺页中断处理来装入第 3 页