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

2017年上海理工大学管理学院848数据结构及操作系统之数据结构考研仿真模拟题

  摘要

目录

2017年上海理工大学管理学院848数据结构及操作系统之数据结构考研仿真模拟题(一) ... 2 2017年上海理工大学管理学院848数据结构及操作系统之数据结构考研仿真模拟题(二) . 14 2017年上海理工大学管理学院848数据结构及操作系统之数据结构考研仿真模拟题(三) . 25 2017年上海理工大学管理学院848数据结构及操作系统之数据结构考研仿真模拟题(四) . 35 2017年上海理工大学管理学院848数据结构及操作系统之数据结构考研仿真模拟题(五) . 46

第 1 页,共 56 页

一、选择题

1. 主机甲向主机乙发送一个

A. (SYN=0, ACK=0, seq=11221, ack=11221)

B. (SYN=1, ACK=1, seq=11220, ack=11220)

C. (SYN=1,ACK=1, seq= 11221,ack= 11221)

D. (SYN=0, ACK=0, seq= 11220, ack= 11220)

【答案】C

【解析】TCP 是面向连接的,所谓面向连接,就是当计算机双方通信时必需先建立连接,然后数据传送,最后拆除三个过程,也就是客户主动打开TCP 传输,服务器被动打开。第一次握手:客户发送SYN=1,seq=x 给服务器,即客户的TCP 向服务器发出连接请求报文段,其首部中的同步位SYN=1,并选择序号seq=x,表明传送数据时的第一个数据字节的序号是X 。第二次握手:服务器发送SYN=1, ACK=1, Seq=y, ack=X+l给客户,即服务器的TCP 收到连接请求报文段后,如同意则发回确认。服务器在确认报文段中应使SYN=1,使 ACK=1,其确认号ack=x+l, 自己选择的序号seq=y。第三次握手:客户发送ACK=1, seq=x+l, ack=y+l 给服务器,即客户收到此报文段后向服务器给出确认,其ACK=1, 确认号aCk=y+l。客户的TCP 通知上层应用进程,连接已经建立。服务器的TCP 收到主机客户的确认后,也通知其上层应用进程:TCP 连接已经建立。 因此,本题中x=11220, y是主机乙自动选取的序号,可以与x 相同,也可以不相同,从而主机乙所

ACK=1, seq=y, ack=x+l,ACK=1, seq=y,ack=11221,发出的TCP 段应该是SYN=1,即 SYN=1,

从而答案是 C 。

2. 某文件占10个磁盘块,现要把该文件磁盘块逐个读入主存缓冲区,并送用户区进行分析。假设一个缓冲区与一个磁盘块大小相同,

把一个磁盘块读人缓冲区的时间为

传送到用户区的时间是CPU 对一块数据进行分析的时间为

构下,读人并分析完该文件的时间分别是( )。 A. B. C. D.

【答案】B

【解析】这是一个简单的缓冲区的问题。由于缓冲区的访问是互斥的,所以对单一缓冲区,从磁盘写入和读 出到用户区的操作必须串行执行,也就是要保证互斥操作。而CPU 对数据的分

第 2 页,共 56 页 的TCP 段,期望与主机乙建立TCP 连接,若主机乙接受该连接请求,则主机乙向主机甲发送的正确的TCP 段可能是( )。 将缓冲区的数据,在单缓冲区和双缓冲区结

析与从用户区读数据也是需要互斥操作,但是CPU 分析与从磁盘写入缓冲区的操作可以并行。从本题看,由于分析所用的时间小于从磁盘写入 缓冲区的时间,因此,CPU 会空闲。单缓冲区的总时间=(磁盘写入缓冲区时间+缓冲区读出时间

)处理最后一块数据的时

当采用双缓冲区时,每块缓冲区的操作也必须满足互斥操作,但是,

对两块缓冲区的操作却可以并行,所以,当第一个缓冲区写满以后,磁盘紧接着写另一个缓冲区,

同时,前一个已经满了的缓冲区被读出到用户区,并立即进行CPU 的数据分析。读出操作和数据分析必须互斥进行,故从时间上看,当数据被读出并分析后,恰好另一个缓冲区也写满了,可以立即进行读出数据到用户区并 进行数据分析。两块缓冲区交替进行读写,直到数据分析完毕,因此,总时间=(磁盘写入缓冲区时间)

=

3.

已知操作符包括

的后缀表达式读出最后一块数据时间+CPU分析最后一块数据时间将中缀表达式转换为等价

时,用栈来存放暂时还不能确定运算次序的操作符。若栈初始时为空,则转换过程中同时保存在栈中的操作符的最大个数是( )。

A.5

B.7

C.8

D.11

【答案】A 。

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

。表达式

所列:

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

第 3 页,共 56 页

通过上表可以看出,显然转换过程中同时保存在栈中的操作符的最大个数是5。

4. 下列关于虚拟存储的叙述中,正确的是( )。

A. 虚拟存储只能基于连续分配技术

B. 虚拟存储只能基于非连续分配技术

C. 虚拟存储容量只受外存容量的限制

D. 虚拟存储容量只受内存容量的限制

【答案】D 。

【解析】所谓虚拟存储,是指运行的进程不必全部装入内存,只需要部分装入便可以开始运行的一种技术,在运行过程中,当所需要的代码部分不在内存时,通过一种技术(例如缺页中断

,技术)将所需要的页面调入内存,从而继续运行。虚拟存储可以在较少的内存中运行较大的程序。但是需要有较大的外存以及相应的软、硬件 机制配合才能实现。虚拟存储器可以连续分配也可以非连续分配,虚拟存储器和外存大小没有关系,所以选项中 的A ,B ,C 都是错误的,所以答案是D 项。

5. 已知一个长度为16的顺序表L , 其元素按关键字有序排列。若采用折半查找法查找一个L 中不存在的元素,则关键字的比较次数最多是( )。

A.4

B.5

C.6

D.7

【答案】B

【解析】折半查找法在查找不成功时和给定值进行比较的关键字个数最多为(l 〇g2n ) +1,在本题中,n=16, 故比较次数最多为5。

第 4 页,共 56 页