当前位置:问答库>考研试题

2017年山东科技大学信息科学与工程学院831数据结构与操作系统之数据结构考研强化模拟题

  摘要

一、选择题

1. 某计算机使用4体交叉存储器,假定在存储器总线上出现的主存地址(十进制)序列为8005, 8006,8007,8008, 8001,8002,8003,8004,8000, 则可能发生发生缓存冲突的地址对是( )。

A.8004、8008 B.8002、8007 C.8001、8008 D.8000、8004 【答案】D

【解析】交叉存储器,又称低位交叉编址,即低位地址为体号,高位地址为体内地址。本题中,主存地址对应的体号分别是:1,2,3,4,1,2,3,4,4。地址为8004和8000都是存取的四号储存器,可能导致8004存储还未完成而又存取8000地址,因此可能发生缓存冲突。

2. 下列关于进程和线程的叙述中,正确的是( )。

A. 不管系统是否支持线程,进程都是资源分配的基本单位 B. 线程是资源分配的基本单位,进程是调度的基本单位 C. 系统级线程和用户级线程的切换都需要内核的支持 D. 同一进程中的各个线程拥有各自不同的地址空间 【答案】A 。

“线程是资源分配的基本单位,【解析】利用排除法来确定正确答案:进程是调度的基本单位”这句话说反了,明显错误。“系统级线程和用户级线程的切换都需要内核的支持”也不正确,因为用户级线程的切换由用户编写的RuntimeSystem 执行的,内核并不感知。“同一进程中的各个线程拥有各自不同的地址空间”明显错误,引入线程的目的就是为了同一进程的所有线程能共享进程的地址空间,故“不管系统是否支持线程,进程都是资源分配的基本单位”是正确的。

3. 若用户进程访问内存时产生缺页,则下列选项中,操作系统可能执行的是( )

I. 处理越界错 II. 置换页 III. 分配内存 A. 仅I 、II B .仅II 、III C. 仅I 、III D.I 、II 、和III 【答案】B

【解析】用户进程访问内存时缺页会发生缺页中断。发生缺页中断,系统地执行的操作可能是置换页面或分配内存。系统内没有越界的错误,不会进行越界出错处理。

4. 在下图所示的平衡二叉树中,插入关键字48后得到一棵新平衡二叉树。在新平衡二叉树中,关键字37 所在结点的左、右子结点中保存的关键字分别是( )。

A.13、48 B.24、48 C.24、53 D.24、90 【答案】C

【解析】题目中,插入48以后,树根结点的平衡因子由-1变为-2, 失去平衡。这属于RL (先右后左)型平衡旋转,需做两次(先右旋后左旋转)旋转操作。过程如下图所示:

显然,在调整后的新平衡二叉树中,关键字37所在结点的左、右子结点中保存的关键字分别是24, 53。

5. 下列选项中,导致创建新进程的操作是( )。

用户登录成功

设备分配

启动程序执行 A. 仅和B. 仅和C. 仅和D.

【答案】C

【解析】进程创建是需要填写PCB 表的,其中唯一不需要的是II 。考察一个进程创建的过程

是这样的:当进程被创建,可以是用户创建,例如双击相关图标;也可以由父进程创建,例如lock ( )时,操作系统首先到PCB 表区搜索空闲的表格,若无则直接拒绝创建进程,若有则填,许多操写PCB 表创建进程。通常填写PCB 表的过程有一段时间(主要涉及资源分配需要协调),也有的操作系统不设这个中间状态。此时操作系作系统为此设立了一个中间状态称为“初始化”

统填写进程ID 号、处理机参数、进程参数(状态、特权、优先级)、分配内存(若是虚拟存储就分配虚拟地址)、映射文件等,一切就绪,将控制权交给系统进行下一步调度。设备分配可能引起进程状态的改变,但不会创建新进程,用户登录成功和启动程序执行都会创建新的进程,所以本题答案为C 。

6. 设二维数组

(即m 行n 列)按行存储在数组

中,

则二维数组元素

在一维数组B 中的下标为( )。

【答案】A 【解析】

的元素个数为

所以二维数组元素

在一维数组B

中的下标为

需要注意数组B 的下标是从0开始,还是从1开始。

7.

已知操作符包括

的后缀表达式

将中缀表达式

转换为等价

时,用栈来存放暂时还不能确定运算次序的操作符。若栈初始时为

空,则转换过程中同时保存在栈中的操作符的最大个数是( )。

A.5 B.7 C.8 D.11

【答案】A 。

【解析】基本思想是:采用运算符栈是为了比较运算符的优先级,所有运算符必须进栈。只将大于栈顶元素优先级的运算符直接进栈,否则需要退栈栈顶运算符(先出栈的运算符先计算,同优先级的运算符在栈中的先计算)

。表达式所列:

产生后缀表达式的过程如下表