1、软件水平考试中级软件设计师上午基础知识(计算机系统知识、程序语言基础知识、操作系统知识)模拟试卷 1及答案与解析 1 若某条无条件转移汇编指令采用直接寻址,则该指令的功能是将指令中的地址码送入 _。 ( A) PC(程序计数器 ) ( B) AR(地址寄存器 ) ( C) AC(累加器 ) ( D) ALU(逻辑运算单元 ) 2 若某计算机系统的 I O接口与主存采用统一编址,则输入输出操作是通过_指令来完成的。 ( A)控制 ( B)中断 ( C)输入输出 ( D)访存 3 在程序的执行 过程中, Cache与主存的地址映像由 _。 ( A)专门的硬件自动完成 ( B)程序员进行调度 ( C
2、)操作系统进行管 ( D)程序员和操作系统共同协调完成 4 总线复用方式可以 _。 ( A)提高总线的传输宽度 ( B)增加总线的功能 ( C)减少总线中信号线的数量 ( D)提高 CPU利用率 5 在 CPU的寄存器中, _对用户是完全透明的。 ( A)程序计数器 ( B)指令寄存器 ( C)状态寄存器 ( D)通用寄存器 6 CPU中译码器的主要作用是进行 _。 ( A)地址译码 ( B)指令译码 ( C)数据译码 ( D)选择多路数据至 ALU 7 若 C程序的表达式中引用了未赋初值的变量,则 _。 ( A)编译时一定会报告错误信息,该程序不能运行 ( B)可以通过编译并运行,但运行时一
3、定会报告异常 ( C)可以通过编译,但链接时一定会报告错误而不能运行 ( D)可以通过编译并运行,但运行结果不一定是期望的结果 8 若二维数组 arr1 M, 1 N的首地址为 base,数组元素按列存储且每个元素占用 K个存储单元,则元素 arri, j在该 数组空间的地址为 _。 ( A) base+(i-1)*M+j-1)*K ( B) base+(i-1)*N+j-1)*K ( C) base+(j-1)*M+i-1)*K ( D) base+(j-1)*N+i-1)*K 9 图 2 5所示为一个有限自动机 (其中, A是初态、 C是终态 ),该自动机识别的语言可用正规式 _表示。 (
4、 A) (0 1)*01 ( B) 1*0*10*1 ( C) 1*(0)*01 ( D) 1*(0 10)*1* 9 函数 t、 f的定义如下所示,其中, a是整型全局变 量。设调用函数 t前 a的值为5,则在函数中以传值调用 (call by value)方式调用函数 f时,输出为 _;在函数 t中以引用调用 (call by reference)方式调用函数时,输出为 _。10 (4) ( A) 12 ( B) 16 ( C) 20 ( D) 24 11 (5) ( A) 12 ( B) 16 ( C) 20 ( D) 24 11 算术表达式采用逆波兰式表示时不用括号,可以利用 _进行求
5、值。与逆波兰式 ab-cd+*对应的中缀表达式是 _。 12 (6) ( A)数组 ( B)栈 ( C)队列 ( D)散列表 13 (7) ( A) a-b+c*d ( B) (a-b)*c+d ( C) (a-b)*(c+d) ( D) a-b*c+d 14 若一种程序设计语言规定其程序中的数据必须具有类型,则有利于 _。 在翻译程序的过程中为数据合理分配存储单元 对参与表达式计算的数据对象进行检查 定义和应用动态数据结构 规定数据对象的取值范围及能够进行的运算 对数据进行强制类型转换 ( A) ( B) ( C) ( D) 14 若某文件系统的目录结构如图 3 11所示,假设用户要访问文件
6、 f1.java,且当前工作目录为 Program,则该文件的全文件名为 _(1),其相对路径为_(2)。 15 (1) ( A) f1 java ( B) Document Java-prog f1 java ( C) D: Program Java-prog f1 java ( D) Program Java-prog f1 java 16 (2) ( A) Java-prog ( B) Java-prog ( C) Program Java-prog ( D) Program Java-prog 16 假设磁盘每磁道有 18个扇区,系统刚完成了 10号柱面的操作,当前移动臂在13号柱面上
7、,进程的请求序列如表 3 3所示。若系统采用 SCAN(扫描 )调度算法,则系统响应序列为 _(3);若系统采用 CSCAN(单向扫描 )调度算法,则系统响应序列为 _(4)。17 (3) ( A) ( B) ( C) ( D) 18 (4) ( A) ( B) ( C) ( D) 18 某文件管理系统在磁盘上建立了位示图 (bitmap),记录磁盘的使用情况。若系统的字长为 32位,磁盘上的物理块依次编号为: 0、 1、 2、 ,那么 4096号物理块的使用情况在位示图中的第 _(4)个字中描述;若磁盘的容量为 200GB,物理块的大小为 1MB,那么位示图的大小为 _(6)个字。 19 (
8、5) ( A) 129 ( B) 257 ( C) 513 ( D) 1025 20 (6) ( A) 600 ( B) 1200 ( C) 3200 ( D) 6400 20 系统中有 R类资源 m个,现有 n个进程互斥使用。若每个进程对 R资源的最大需求为 w,那么当 m、 n、 w分别取表 3 4中的值时,对于表中的 种情况,_(7)可能会发生死锁。若将这些情况的 m分别加上 _(8),则系统不会发生死锁。21 (7) ( A) ( B) ( C) ( D) 22 (8) ( A) 1、 1和 1 ( B) 1、 1和 2 ( C) 1、 1和 3 ( D) 1、 2和 1 22 某系统
9、采用请求页式存储管理方案,假设某进程有 6个页面,系统给该进程分配了 4个存储块,其页面变换表如表 3 5所示,表中的状态位等于 I O表示页面在内存不在内存。当该进程访问的页面 2不在内存时,应该淘汰表中页号为_(9)的页面。假定页面大小为 4K,逻辑地址为十六进制 3C18H,该地址经过变换后页帧号为 _(10)。23 (9) ( A) 0 ( B) 3 ( C) 4 ( D) 5 24 (10) ( A) 2 ( B) 5 ( C) 8 ( D) 12 24 进程 P1、 P2、 P3、 P4和 P5的前趋图如图 3 12所示。若用 PV操作控制进程 P1 P5并发执行的过程,则需要设置
10、 6个信号 S1、 S2、 S3、 S4、 S5和 S6,且信号量 S1 S6的初值都等于 0。图3 13中 a和 b处应分别填写 _(11), c和 d处应分别填写 _(12), e和 f处应分别填写 _(13)。 25 (11) ( A) P(S1)P(S2)和 P(S3)e(s4) ( B) P(S1)V(S2)和 P(S2)V(S1) ( C) v(S1)V(S2)和 V(S3)V(S4) ( D) P(S1)P(S2)和 V(S1)V(S2) 26 (12) ( A) P(S1)P(S2)和 V(S3)V(S4) ( B) P(S1)P(S3)和 V(S5)V(S6) ( C) V(
11、S1)V(S2)和 P(S3)P(S4) ( D) P(S1)V(S3)和 P(S2)V(S4) 27 (13) ( A) P(S3)P(S4)和 V(S5)V(S6) ( B) V(SS)V(S6)和 P(S5)P(S6) ( C) P(S2)P(S5)和 P(S4)P(S6) ( D) P(S4)V(S5)和 P(S5)V(S6) 软件水平考试中级软件设计师上午基础知识(计算机系统知识、程序语言基础知识、操作系统知识)模拟试卷 1答案与解析 1 【正确答案】 A 【试题解析】 采用直接寻址,指令所要的操作数存放在内存中,在指令中直接给出该操作数的有效地址 EA,即内存地址,只要将该有效地址
12、 EA放入 PC中就可以找到对应的操作数。 【知识模块】 计算机系统知识 2 【正确答案】 D 【试题解析】 统一编址方式是指 I O端口与主存单元使用同一个地址空间进行统一编址。在这种方式下, CPU指令系统中无须设置专门的与设备进行数据传输的输入输出指令, I O端口被当成主存单元同样对待,对主存单元进行访问和操作的指令可以同样用于对 I O端口的访问和操作。 【知识模块】 计算机系统知识 3 【正确答案】 A 【试题解析】 主存的容量比 Cache大很多, Cache保存的信息只是主存信息的一个子集,且 Cache的信息来自主存它们之间的信息交换是以块为单位进行的。主存的块按照某种算法复
13、制到 Cache中,从而建立了主存地址和 Cache地址的对应关系,这就是 “地址 映射 ”的含义。而当 CPU访问内存时,用的是访问主存的地址,由该地址变为访问 Cache的地址称为 “地址变换 ”。变换过程采用硬件实现,达到快速访问的目的,对软件人员则具有透明性。 【知识模块】 计算机系统知识 4 【正确答案】 C 【试题解析】 总线复用,指的是数据和地址在同一个总线上传输的方式。由于CPU引脚数量有限,使得一些引脚起多个作用。采用总线复用方式,可以减少总线中信号线的数量。 【知识模块】 计算机系统知识 5 【正确答案】 B 【试题解析】 作为高速存储单元,微处理器内部有多种寄存器,用于暂
14、时存放程序执行过程中的代码和指令。有些寄存器对应用人员来说是不可见的,不能直接控制。例如,保存指令代码的指令寄存器。所以它们被称为透明寄存器。这里的“透明 ”(Transparency)是计算机学科中常用的一个专业术语,表示实际存在,但在某个角度看好像没有。 【知识模块】 计算机系统知识 6 【正确答案】 B 【试题解析】 译码器是控制器中的主要部件之一。计算机能且只能执行 “指令 ”。指令由操作码和操作数组成。操作码表示要执行的 操作性质,即执行什么操作,或做什么;操作数是操作码执行时的操作对象,即对什么数进行操作。计算机执行一条指定的指令时,必须首先分析这条指令的操作码是什么,以决定操作的
15、性质和方法,然后才能控制计算机其他各部件协同完成指令表达的功能。这个分析工作由译码器来完成。 【知识模块】 计算机系统知识 7 【正确答案】 C 【试题解析】 全局变量和静态局部变量在定义时如果没有初始化,编译时会自动初始化为 0;而普通的局部变量,如果没有初始化,则其值是一个随机数。在 C程序表达式中,只要引用的变量定义了,就可以通 过编译并运行,但运行结果不一定是期望的结果。 【知识模块】 程序语言基础知识 8 【正确答案】 C 【试题解析】 数据 arr共 M行 N列,下标均从 1开始。元素 arri, j在数据 arr的第 i行第 j列,如果数组元素按列存储,则 1 j-1列共有 (j
16、-1)*M个元素, ai, j之前共 (i-1)*M+i-1个元素,元素 arri, j在该数组空间的地址为 base+(j-1)*M+i-1)*K。 【知识模块】 程序语言基础知识 9 【正确答案】 A 【试题解析】 在正规式中,符号 “*”表示重复若干次 (包括 0次 ),符号 “ ”表示“或 ”。在状态 A,可以输入 1或 0,如果输入 1还可以回到状态 A,如果输入 0直接到达状态 B;在状态 B,可以输入 0或 1,如果输入 0则还回到状态 B,如果输入 1则进入状态 C,在状态 C,可以输入 0或 1,如果输入 0到达状态 B,如果输入 1到达状态 A,但由于 C是终态,自动机可识
17、别的语言是由 0、 1构成的字符串的集合,但该集合必须以 01结尾,因此选项 A正确。 【知识模块】 程序语言基础知识 【知识模块】 程序语言基础知识 10 【正确答案】 B 【试题解析】 本 题主要考查函数调用时参数的传递方式。如果采用传值方式调用,则形参值的变化不会影响实参;如果采用引用方式调用,则形参值的变化会直接反映到实参。 本题中如果在函数 t中采用传值方式调用函数 f, a的值传给形参 r,在函数 f中, a的值变为 6, r的值为 10并返回赋给变量 x,由于 a是全局变量,退出函数f后 a的值依然为 6,所以函数 t的输出结果为 16。如果函数 t采用传值方式调用函数 f,则形
18、参 r就是对实参 a的引用,对 r的修改就是对 a的修改,在执行a=r+1时, a和 r的值都变为 6,执行 r=r*2, a和 r的值都变为 12,并将 r的值返回给 x,因此函数 t的输出结果为 24。 【知识模块】 程序语言基础知识 11 【正确答案】 D 【知识模块】 程序语言基础知识 【知识模块】 程序语言基础知识 12 【正确答案】 B 【试题解析】 逆波兰式表示方式把运算符写在运算对象的后面,不需要使用括号。由于逆波兰式表示中的各个运算是按顺序执行的,因此,它的计值很容易实现。为此,仅需从左到右依次扫视表达式中的各个符号,每遇到一个运算对象,就把它压入栈项暂存起来;每遇到一个二元
19、 (或一元 )运算符时,就取出栈项的两个(或一 个 )运算对象进行相应的运算,并用运算结果去替换栈顶的这两 (或一 )个运算对象,然后再继续扫视余留的符号,如此等等,直到扫视完整个表达式为止。当上述过程结束时,整个表达式的值将留于栈顶。 a-b+c*d对应的逆波兰式为 ab-cd*+。 (a-b)*c+d对应的逆波兰式为 ab-c*d+。 (a-b)*(c+d)对应的逆波兰式为 ab-cd+*c。 a-b*c+d对应的逆波兰式为 abc*-d+。 【知识模块】 程序语言基础知识 13 【正确答案】 C 【知识模块】 程序 语言基础知识 14 【正确答案】 B 【试题解析】 数据是程序操作的对象
20、,类型说明数据占用的内存和存放形式。数据类型不仅可用于在基础机器中完成对值的布局,还可以用于检查表达式中对运算的应用是否正确。 【知识模块】 程序语言基础知识 【知识模块】 操作系统知识 15 【正确答案】 C 【试题解析】 全文件名即是绝对路径。在树形目录结构中,绝对路径应从树根开始,把全部目录文件名与数据文件名依次用 “ ”连接起来。而相对路径,则是从当前目录开始,再逐级通过中间的目录文件,最后到达所要 访问的数据文件。注意,连接符 “ ”只用在文件名之间。 【知识模块】 操作系统知识 16 【正确答案】 A 【知识模块】 操作系统知识 【知识模块】 操作系统知识 17 【正确答案】 A
21、【试题解析】 SCAN算法不仅要考虑欲访问的磁道与当前磁道的距离,更优先考虑磁头的当前移动方向。由题意知,当前磁头正在由里向外移动 (因为从 10号柱面移动到 13号柱面 ),所以下一个柱面应该是 15号,题目中有 3个柱面号为 15的请求序列,选择扇区号最小的请求序列。如果扇区号也相同,则选择磁头号小的,因此由里到外的系统响应序列为 。当移动臂位于 30号柱面时,由于 30号柱面是最外层的柱面,因此移动臂开始由外往里移动,后续的系统响应序列应为 。 CSCAN在 SCAN的基础上规定,磁头只能做单向移动,本题中只能由里向外移动,因此系统响应序列为 。 【知识模块】 操作系统知识 18 【正确
22、答案】 C 【知识模块】 操作系统知识 【知识模块】 操作系统知识 19 【正确答案】 A 【试题解析】 系统的字长为 32位,在位示图中的第一个字对应文件存储器上的0、 1、 2、 3、 31 号物理块,以此类推。 4096 32=128, 4096号物理块是第 129个字对应的第一个物理块。磁盘的容量为 200GB,物理块的大小为 1MB,则磁盘共 2001024个物理块,一个字对应 32个物理块,位示图的大小为 200102432=6400个字。 【知识模块】 操作系统知识 20 【正确答案】 D 【知识模块】 操作系统知识 【知识模块】 操作系统知识 21 【正确答案】 C 【试题解析
23、】 对于第 种情况 ,资源数为 3,在最坏的情况下, 2个进程对 R资源的需求都为 2,其中有一个进程占用 2个 R资源,另一个进程占用 1个 R资源,占用 2个 R资源的进程运行完,释放资源,另一个便会获得所需的资源,不会出现死锁。 对于第 种情况,资源数为 3,在最坏的情况下, 3个进程对 R资源的需求都为2,每个进程都占用 1个 R资源,发生死锁。 对于第 种情况,资源数为 5,在最坏的情况下, 2个进程对 R资源的需求都为3,其中有一个进程占用 3个 R资源,另一个进程占用 2个 R资源,不会出现死锁。 对于第 种情况,资源数为 5,在最坏 的情况下, 3个进程对 R资源的需求都为3,
24、如果 3个进程占用的资源数分别为 2、 2、 1,就会出现死锁。 对于第 种情况,资源数为 6,在最坏的情况下, 3个进程对 R资源的需求都为3,如果 3个进程占用的资源数都为 2,就会出现死锁。 对于第 种情况,资源数为 6,在最坏的情况下, 4个进程对 R资源的需求都为2,其中有两个进程占用 2个资源,另两个进程占用 1个资源,不会出现死锁。 总结一下,可以发现,当 nw-m n时,系统就不会发生死锁。因此,对于第 、 种情况,只要 m的资源加 1,系统就不会发生死锁;对 于第 种情况,只要 m资源加 2,系统就不会发生死锁。 【知识模块】 操作系统知识 22 【正确答案】 D 【知识模块
25、】 操作系统知识 【知识模块】 操作系统知识 23 【正确答案】 D 【试题解析】 由表 3 4可知,页面 1和页面 2不在内存。当进程访问的页面 2不在内存时,系统应该淘汰未被访问的页面。由访问位可知页面 5没有被访问过,因此需要被淘汰。 对某特定机器,其地址结构是一定的。若给定一个逻辑地址空间中的地址为 A,页面的大小为 L,则页号 P可按下式求得:式中, INT是整除函数。 由 “页面大小为 4K,逻辑地址为十六进制 3C18H”可知,页号为 3,查表 3 5可知页面 3对应的页帧号为 2。 【知识模块】 操作系统知识 24 【正确答案】 A 【知识模块】 操作系统知识 【知识模块】 操作系统知识 25 【正确答案】 C 【试题解析】 利用 PV操作实现进程的同步时,进程可以通过调用 P操作测试消息是否到达,调用 V操作通知消息已经准备好。根据题意,将信号量标在图3 12上,结果如图 3 14所示。 【知识模块】 操作系统知识 26 【正确答案】 B 【知 识模块】 操作系统知识 27 【正确答案】 C 【知识模块】 操作系统知识