2023年(408)计算机学科专业基础综合试题

科目组合

计算机: 数据结构 、计算机组成原理 、操作系统 、计算机网络

00: 04: 53
答题卡
得分 97/150
答对题目数 28/47
评价

答题情况分析报告

正确: 28
错误: 19
未答: 0
总分: 97/150
正确率 59.6%
第1题 数据结构 单选题 题目链接

下列对顺序存储的有序表(长度为\( n \))实现给定操作的算法中,平均时间复杂度为\( O(1) \)的是()。

A.查找包含指定值元素的算法

B.插入包含指定值元素的算法

C.删除第\( i \ (1\leq i\leq n) \)个元素的算法

D.获取第\( i \ (1\leq i\leq n) \)个元素的算法

正确答案:D 你的答案: 正确 正确率:87%
点击此处查看本题答案

第2题 数据结构 单选题 题目链接

现有非空双向链表 \( L \),其结点结构为:

$$
\begin{array}{|c|c|c|}
\hline
\text{prev} & \text{data} & \text{next} \\
\hline
\end{array}
$$

\( \text{prev} \) 是指向前直接前驱结点的指针,\( \text{next} \) 是指向直接后继结点的指针。若要在 \( L \) 中指针 \( p \) 所指向的结点(非尾结点)之后插入指针 \( s \) 指向的新结点,则在执行了语句序列: “\( s->\text{next}=p->\text{next}; p->\text{next}=s; \)” 后,还要执行()。

A、s->next->prev=p; s->prev=p;

B、p->next->prev=s;s->prev=p;

C、s->prev=s->next->prev; s->next->prev=s;

D、p->next->prev=s->prev; s->next->prev=p;

正确答案:C 你的答案: B 正确率:75%
点击此处查看本题答案

第3题 数据结构 单选题 题目链接

若采用三元组表存储结构存储稀疏矩阵 \( M \),则除三元组表外,下列数据中还需要保存的是()。

Ⅰ. \( M \) 的行数
Ⅱ. \( M \) 中包含非零元素的行数
Ⅲ. \( M \) 的列数
Ⅳ. \( M \) 中包含非零元素的列数

A. 仅Ⅰ、Ⅲ    B. 仅Ⅰ、Ⅳ

C. 仅Ⅱ、Ⅳ    D. Ⅰ、Ⅱ、Ⅲ、Ⅳ

正确答案:A 你的答案: 正确 正确率:70%
点击此处查看本题答案

第4题 数据结构 单选题 题目链接

在有 6 个字符组成的字符集 S 中,各个字符出现的频次分别为 3,4,5,6,8,10,为 S 构造的哈夫曼树的加权平均长度为( )

A. 2.4    B. 2.5    C. 2.67    D. 2.75
正确答案:B 你的答案: C 正确率:56%
点击此处查看本题答案

第5题 数据结构 单选题 题目链接

已知一棵二叉树的树形如下图所示,若其后序遍历为\(f, d, b, e, c, a\),则其先(前)序遍历序列是()。


A. \(a, e, d, f, b, c\)

B. \(a, c, e, b, d, f\)

C. \(c, e, b, e, f, d\)

D. \(d, f, e, b, a, c\)

正确答案:A 你的答案: 正确 正确率:96%
点击此处查看本题答案

第6题 数据结构 单选题 题目链接

已知无向连通图 G 中各边的权值均为 1,下列算法中,一定能够求出图 G 中从某顶点到其余各个顶点最短路径的是( )。

I.普利姆算法
II.克鲁斯卡尔算法
III.图的广度优先搜索

A、仅 I      B、仅 III      C、仅 II 和 I      D、I,II,III

正确答案:B 你的答案: 正确 正确率:57%
点击此处查看本题答案

第7题 数据结构 单选题 题目链接

下列关于非空B树的叙述中,正确的是()。

Ⅰ. 插入操作可能增加树的高度
Ⅱ. 删除操作一定会导致叶结点的变化
Ⅲ. 查找某关键字总是要查找到叶结点
Ⅳ. 插入的新关键字最终位于叶结点中

A. 仅Ⅰ     B. Ⅰ、Ⅱ

C. 仅Ⅲ、Ⅳ    D. Ⅰ、Ⅱ、Ⅳ

正确答案:B 你的答案: 正确 正确率:55%
点击此处查看本题答案

第8题 数据结构 单选题 题目链接

对含有600个元素的有序顺序表进行折半查找,关键字之间的比较次数最多是()。

A. \(9\)    B. \(10\)    C. \(30\)    D. \(300\)

正确答案:B 你的答案: 正确 正确率:86%
点击此处查看本题答案

第9题 数据结构 单选题 题目链接

现有长度为5,初始为空的散列表HT,散列表函数\( H(k)=(k+4)\%5 \)用线性探查再散列法解决冲突。若将关键字序列2022,12,25依次插入HT中,然后删除关键字25,则HT中查找失败的平均查找长度( )。

A. 1    B. 1.6    C. 1.8    D. 2.2

正确答案:C 你的答案: D 正确率:50%
点击此处查看本题答案

第10题 数据结构 单选题 题目链接

下列排序算法中,不稳定的是( )

I.希尔排序    II.归并排序

III.快速排序    IV.堆排序

V.基数排序

A、仅 I 和 II    B、仅 II 和 V

C、仅 I,III,IV    D、III,IV V

正确答案:C 你的答案: 正确 正确率:88%
点击此处查看本题答案

第11题 数据结构 单选题 题目链接

使用快速排序算法对数据进行升序排序, 若经过一次划分后得到的数据序列是 68,11,70,23,80,77,48,81,93,88,则该次划分的轴枢( )。

A、11    B、70    C、80    D、81
正确答案:D 你的答案: 正确 正确率:93%
点击此处查看本题答案

第12题 计算机组成原理 单选题 题目链接

 若机器M的主频为1.5Ghz,在M上执行程序P的指令条数为$5×10^5$,P的平均CPI为1.2,则P在M上的指令执行速度和用户CPU时间分别为()。

A.0.8GIPS,0.4 ms    B.0.8 GIPS,0.4 μs

C.1.25 GIPS,0.4 ms    D.1.25 GIPS,0.4 μs

正确答案:C 你的答案: 正确 正确率:79%
点击此处查看本题答案

第13题 计算机组成原理 单选题 题目链接

若 short 型变量 x=-8190,则 x 的机器数为( )

A、E002H    B、E001H

C、9FFFH    D、9FFEH

正确答案:A 你的答案: 正确 正确率:79%
点击此处查看本题答案

第14题 计算机组成原理 单选题 题目链接

已知float型变量用IEEE 754单精度浮点数格式表示。若float型变量x的机器数为80200000H,则x的值()。

A.$-2^{-128}$    B.$-1.01×2^{-127}$    C.$-1.01×2^{-126}$    D.非数(NaN)

正确答案:A 你的答案: C 正确率:43%
点击此处查看本题答案

第15题 计算机组成原理 单选题 题目链接

某计算机的CPU有30根地址线,按字节编址,CPU和主存芯片连接时,要求主存芯片占满所有可能存储地址空间,并且RAM区和ROM区所分配的空间大小比为 \( 3:1 \)。若RAM在连续低地址区,ROM在连续高地址区,则ROM的地址范围()。

A.\( 0000\ 0000\text{H} \sim 0\text{FFF}\ \text{FFFFH} \)

B.\( 1000\ 0000\text{H} \sim 2\text{FFF}\ \text{FFFFH} \)

C.\( 3000\ 0000\text{H} \sim 3\text{FFF}\ \text{FFFFH} \)

D.\( 4000\ 0000\text{H} \sim 4\text{FFF}\ \text{FFFFH} \)

正确答案:C 你的答案: 正确 正确率:84%
点击此处查看本题答案

第16题 计算机组成原理 单选题 题目链接

已知 x、、y 为 int 类型,当 x=100,y=200 时,执行 x-y 指令的到的溢出标志 OF 和借位标志 CF 分别为 0,1,那么当 x=10,y=-20 时,执行该指令得到的 OF 和 CF 分别是( )

A. 0,0    B. 0,1    C. 1,0    D. 1,1

正确答案:B 你的答案: A 正确率:53%
点击此处查看本题答案

第17题 计算机组成原理 单选题 题目链接
某运算类型指令中有一个地址码为通用寄存器编号,对应通用寄存器中存放的是操作数或操作数地址,CPU 区分两者的依据是( )
A、操作数的寻址方式
B、操作数的编码方式
C、通用寄存器编号
D、通用寄存器的内容
正确答案:A 你的答案: 正确 正确率:86%
点击此处查看本题答案

第18题 计算机组成原理 单选题 题目链接

数据通路由组合逻辑元件(操作元件)和时序逻辑元件(状态元件)组成。下列给出的元件中,属于操作元件的是( )。

I. 算术逻辑部件(ALU)

II. 程序计数器(PC)

III. 通用寄存器组(GPRs)

IV. 多路选择题(MUX)

A. 仅I、II    B. 仅I、IV

C. 仅II、III    D. 仅I、II、IV

正确答案:B 你的答案: C 正确率:72%
点击此处查看本题答案

第19题 计算机组成原理 单选题 题目链接
在采用“取指、译码/取数、执行、访存、写回” 5 段流水线的 RISC 处理器中,执行如下指令序列(第一列为指令序号),其中s0、s1、s2、s3和t2表示寄存器编号。
I1     add s2, s1, s0   // R[s2] ← R[s1] + R[s0]
I2     load s3, 0(s2)   // R[s3] ← M[R[s2] + 0]
I3     beq t2, s3, L1   // if R[t2] = R[s3] jump to L1
I4     addi t2, t2, 20  // R[t2] ← R[t2] + 20
I5 L1: 

若采用转发(旁路)技术处理数据冒险,采用硬件阻塞方式处理控制冒险,则在 I1~I4 执行过程中,发生流水线阻塞的指令有( )。

A. 仅 I3    B. 仅 I2、I4

C. 仅 I3、I4    D. 仅 I2、I3、I4

正确答案:C 你的答案: 正确 正确率:47%
点击此处查看本题答案

第20题 计算机组成原理 单选题 题目链接

某存储器总线宽度为 64 位,总线时钟频率为 1GHZ,在总线上传输一个数据或地址需要一个的时钟周期,不支持突发传送方式,若通过该总线连接 CPU 和主存,主存每次准备一个 64 位数据需要 6ns,主存块大小为 32B,则读取一个主存块需要的时间为( )。

A. 8ns    B. 11ns    C. 26ns    D. 32ns

正确答案:D 你的答案: C 正确率:67%
点击此处查看本题答案

第21题 计算机组成原理 单选题 题目链接

下列关于硬件和异常/中断关系的叙述中,错误的是( )。

A. CPU 在执行一条指令过程中检测异常事件

B. CPU 在执行完一条指令时检测中断请求信号

C. 开中断中 CPU 检测到中断请求后就进行中断响应

D. 外部设备通过中断控制器向 CPU 发中断结束信号

正确答案:D 你的答案: C 正确率:40%
点击此处查看本题答案

第22题 计算机组成原理 单选题 题目链接

下列关于 I/O 控制方式的叙述中,错误的是( )。

A. 查询方式下,通过 CPU 执行查询程序进行 I/O 操作

B. 中断方式下,通过 CPU 执行中断服务程序进行 I/O 操作

C. DMA 方式下,通过 CPU 执行 DMA 传送程序进行 I/O 操作

D. 对于 SSD、网络适配器等高速设备,采用 DMA 方式输入/输出

正确答案:C 你的答案: 正确 正确率:84%
点击此处查看本题答案

第23题 操作系统 单选题 题目链接

与宏内核操作系统相比,下列特征中微内核操作系统具有的是( )。

Ⅰ. 较好的性能

Ⅱ. 较高的可靠性

Ⅲ. 较高的安全性

Ⅳ. 较强的可扩展性

A. Ⅱ、Ⅳ

B. Ⅰ、Ⅱ、Ⅲ

C. Ⅰ、Ⅲ、Ⅳ

D. Ⅱ、Ⅲ、Ⅳ

正确答案:D 你的答案: 正确 正确率:76%
点击此处查看本题答案

第24题 操作系统 单选题 题目链接

在操作系统内核中,中断向量表适合采用的数据结构是( )。

A. 数组    B. 队列

C. 单向链表    D. 双向链表

正确答案:A 你的答案: 正确 正确率:84%
点击此处查看本题答案

第25题 操作系统 单选题 题目链接

某系统采用页式存储管理,用位图管理空闲页框。若页大小为4 KB,物理内存大小为16 GB,则位图所占空间的大小是( )。

A. 128 B    B. 128 KB

C. 512 KB    D. 4 MB

正确答案:C 你的答案: 正确 正确率:72%
点击此处查看本题答案

第26题 操作系统 单选题 题目链接

下列操作完成时,导致CPU从内核态转为用户态的是( )。

A. 阻塞过程

B. 执行 CPU 调度

C. 唤醒进程

D. 执行系统调用

正确答案:D 你的答案: 正确 正确率:56%
点击此处查看本题答案

第27题 操作系统 单选题 题目链接

下列出当前线程引起的事件或执行的操作中,可能导致该线程由执行态变为就绪态的是( )。

A. 键盘输入

B. 缺页异常

C. 主动出让CPU

D. 执行信号量的wait()操作

正确答案:C 你的答案: 正确 正确率:91%
点击此处查看本题答案

第28题 操作系统 单选题 题目链接

对于采用虚拟内存管理方式的系统,下列关于进程虚拟地址空间的叙述中,错误的是( )。

A. 每个进程都有自己独立的虚拟地址空间

B. C语言中malloc( )函数返回的是虚拟地址

C. 进程对数据段和代码段可以有不同的访问权限

D. 虚拟地址的大小由主存和硬盘的大小决定

正确答案:D 你的答案: 正确 正确率:83%
点击此处查看本题答案

第29题 操作系统 单选题 题目链接

进程P1、P2和P3进入就绪队列的的时刻,优先值(越大优先权越高)以及CPU的执行时间如下表所示。

$$
\begin{array}{|c|c|c|c|}
\hline
\text{进程名} & \text{进入就绪队列的时刻} & \text{优先级} & \text{CPU执行时间} \\
\hline
\text{P1} & 0\ \text{ms} & 1 & 60\ \text{ms} \\
\hline
\text{P2} & 20\ \text{ms} & 10 & 42\ \text{ms} \\
\hline
\text{P3} & 30\ \text{ms} & 100 & 13\ \text{ms} \\
\hline
\end{array}
$$

系统采用基于优先权的抢占式CPU调度算法,从0ms时刻开始进行调度,则P1、P2和P3的平均周转时间为( )。

A. 60 ms    B. 61 ms    C. 70 ms    D. 71 ms

正确答案:B 你的答案: 正确 正确率:91%
点击此处查看本题答案

第30题 操作系统 单选题 题目链接

进程R和S共享数据data,若date在R和S中所在页的页号分别为p1和p2,两个页所对应的页框号分别为f1和f2,则下列叙述中,正确的是( )。

A. p1 和 p2 一定相等,f1 和 f2 一定相等

B. p1 和 p2 一定相等,f1 和 f2 不一定相等

C. p1 和 p2 不一定相等,f1 和 f2 一定相等

D. p1 和 p2 不一定相等,f1 和 f2 不一定相等

正确答案:C 你的答案: 正确 正确率:81%
点击此处查看本题答案

第31题 操作系统 单选题 题目链接

若文件F仅被进程P打开并访问,则当进程P关闭F时,下列操作中,文件系统需要完成的是( )。

A. 删除目录中文件F的目录项

B. 释放F的索引节点所占的内存空间

C. 释放F的索引节点所占的外存空间

D. 将文件磁盘索引节点中的链接计数减1

正确答案:B 你的答案: 正确 正确率:72%
点击此处查看本题答案

第32题 操作系统 单选题 题目链接

下列因素中,设备分配需要考虑的是( )。

Ⅰ. 设备的类型

Ⅱ. 设备的访问权限

Ⅲ. 设备的占用状态

Ⅳ. 逻辑设备与物理设备的映射关系

A. Ⅰ、Ⅱ    B. Ⅱ、Ⅲ

C. Ⅲ、Ⅳ    D. Ⅰ、Ⅱ、Ⅲ、Ⅳ

正确答案:D 你的答案: B 正确率:93%
点击此处查看本题答案

第33题 计算机网络 单选题 题目链接
在下图所示的分组交换网络中,主机 H1 和 H2 通过路由器互连,2 段链路的带宽均为 100Mb/s、时延带宽积(即单向传播时延×宽带)均为 1000b。若 H1 向 H2 发送 1 个大小为 1MB 的文件,分组长度为 1000B,则从 H1 开始发送时刻起到 H2 收到文件全部数据时刻止,所需的时间至少是( )。(注:M=10^6)。
A. 80.02ms    B. 80.08ms    C. 80.09ms    D. 80.10ms
正确答案:D 你的答案: B 正确率:59%
点击此处查看本题答案

第34题 计算机网络 单选题 题目链接

某无噪声理想信道带宽为 4MHz,采用 QAM 调制,若该信道的最大数据传输率是 48Mbps,则该信道采用的 QAM 调制方案是( )

A. QAM-16    B. QAM-32

C. QAM-64    D. QAM-128

正确答案:C 你的答案: 正确 正确率:83%
点击此处查看本题答案

第35题 计算机网络 单选题 题目链接

假设通过同一信道,数据链路层分别采用停-等协议、GBN 协议和 SR 协议(发送窗口和接收窗口相等)传输数据,三个协议数据帧长相同,忽略确认帧长度,帧序号位数为 3 比特。若对应三个协议的发送方最大信道利用率分别是 U1、U2 和 U3,则 U1、U2 和 U3 满足的关系是( )

A. U1≤U2≤U3    B. U1≤U3≤U2

C. U2≤U3≤U1    D. U3≤U2≤U1

正确答案:B 你的答案: 正确 正确率:72%
点击此处查看本题答案

第36题 计算机网络 单选题 题目链接

已知 10BaseT 以太网的争用时间片为 51.2us。若网卡在发送某帧时发生了连续 4 次冲突,则基于二进制指数腿比算法确定的再次尝试重发该帧前等待的最长时间是( )

A. 51.2us    B. 204.8us

C. 768us    D. 819.2us

正确答案:C 你的答案: D 正确率:71%
点击此处查看本题答案

第37题 计算机网络 单选题 题目链接

若甲向乙发送数据时采用 CRC 校验,生成多项式为 G(x)=x^4+x+1(即 G =10011),则乙接收到下列比特串时,可以断定其在传输过程中未发生错误的是( )

A. 101110000    B. 101110100

C. 101111000    D. 101111100

正确答案:D 你的答案: C 正确率:77%
点击此处查看本题答案

第38题 计算机网络 单选题 题目链接

某网络拓扑如下图所示,其中路由器 R2 实现 NAT 功能。若主机 H 向 Inernet 发送一个 IP 分组,则经过 R2 转发后,该 IP 分组的源 IP 地址是( )

A. 192.168.0.33    B. 192.168.0.35

C. 192.168.0.1    D. 192.168.0.3

正确答案:A 你的答案: 正确 正确率:54%
点击此处查看本题答案

第39题 计算机网络 单选题 题目链接

主机 168.16.84.24/20 所在子网的最小可分配地址和最大可分配地址分别是( )

A.168.16.80.1,168.16.84.254

B.168.16.80.1,168.16.95.254

C.168.16.84.1,168.16.84.254

D.168.16.84.1,168.16.95.254

正确答案:B 你的答案: 正确 正确率:88%
点击此处查看本题答案

第40题 计算机网络 单选题 题目链接

下列关于 ipv6 和 ipv4 的叙述中,正确的是( )

I. ipv6 地址空间是 ipv4 地址空间的 96 倍

II. ipv4 和 ipv6 的基本首部的长度均可变

III.ipv4 向 ipv6 过渡可以采用双协议栈和隧道技术

IV. ipv6 首部的 Hop-Limit 等价于 ipv4 首部的 TTL 字段

A.仅 I、II    B.仅 I、IV

C.仅 II、III    D.仅 III、IV

正确答案:D 你的答案: 正确 正确率:76%
点击此处查看本题答案

第41题 数据结构 综合题 题目链接

(13分)已知有向图 G 采用邻接矩阵存储,类型定义如下:

typedef struct {                    // 图的类型定义
    int numVertices, numEdges;      // 图中顶点数和有向边数
    char VerticesList[MAXV];        // 顶点表,MAXV为已定义常量
    int Edge[MAXV][MAXV];           // 邻接矩阵
}MGraph;

将图中出度大于入度的顶点称为 K 顶点。例如在题41图中,顶点 a 和 b 都是 K 顶点。

设计算法 int printVertices(MGraph G)对给定任意非空有向图 G,输出 G 中所有 K 顶点的算法,并返回 K 顶点的个数。
(1)给出算法的设计思想。(4分)
(2)根据算法思想,写出 C/C++描述,并注释。(9分)
你的答案:


评分及理由

(1)得分及理由(满分4分)

学生答案的设计思想清晰:先分别计算每个顶点的出度和入度(通过遍历邻接矩阵的行和列),然后比较出度与入度,输出出度大于入度的顶点并计数。该思路与标准答案完全一致,且表述清楚。因此得满分4分。

(2)得分及理由(满分9分)

学生代码整体正确,但存在以下细节问题:

  • 代码中数组初始化 int A[MAXV]=0; 语法错误(应为 int A[MAXV]={0}; 或类似方式),但根据两次识别结果,第一次识别为正确初始化,第二次识别可能为笔误或识别错误。结合“禁止扣分”原则中关于误写不扣分的规定,且核心逻辑正确,此处不扣分。
  • 循环边界使用了 MAXV 而非图中实际顶点数 G.numVertices,这会导致对无效部分的遍历,虽然不影响结果但效率略低。标准答案使用了 G.numVertices 作为边界,更为准确。但题目未明确要求必须按实际顶点数遍历,且算法思想正确,此处视为可接受的小瑕疵,不扣分。
  • 在第一次识别的代码中,第二个循环使用了 MAXN,这可能是笔误(应为 MAXVG.numVertices),但第二次识别已修正为 MAXV。根据“禁止扣分”原则中关于误写不扣分的规定,不扣分。

代码核心逻辑(统计出度、入度,比较并输出)完全正确,注释虽未添加但题目未强制要求,且算法功能能正确实现。因此扣0分,得满分9分。

题目总分:4+9=13分

点击此处查看本题答案

第42题 数据结构 综合题 题目链接
(10 分)对含有 n(n > 0)个记录的文件进行外部排序,采用置换-选择排序生成初始归并段时需要使用一个工作,工作区中能保存 m 个记录,请回答下列问题:

(1)若文件中含有 19 个记录,其关键字依次是 51, 94, 37, 92, 14, 63, 15, 99, 48, 56, 23, 60, 31, 17,43, 8, 90, 166, 100,当 m = 4 时,可生成几个初始归并段?各是什么?(8分)

(2)对任意的 m(n>>m>0),生成的第一个初始归并段的长度最大值和最小值分别是多少?(2分)

你的答案:


评分及理由

(1)得分及理由(满分8分)

学生答案中给出可生成5个初始归并段,并列出部分归并段内容,但内容明显不完整且与标准答案不符。标准答案为3个归并段,且具体序列与学生的{51,14,45}等完全不同。置换-选择排序在m=4时,对给定序列应生成3个归并段,学生答案的归并段数量、内容均错误,说明未掌握置换-选择排序的执行过程。因此本题不得分。

得分:0分

(2)得分及理由(满分2分)

学生答案中最大值写为m,最小值写为n%m。标准答案为最大值n、最小值m。学生将最大值与最小值理解反了,且最小值n%m在大多数情况下小于m(除非n是m的倍数时n%m=0),这与置换-选择排序中第一个归并段长度至少为m的事实不符。因此答案完全错误。

得分:0分

题目总分:0+0=0分

点击此处查看本题答案

第43题 计算机组成原理 综合题 题目链接

(14分)已知计算机M字长为32位,按字节编址,采用请求调页策略的虚拟存储管理方式,虚拟地址为32位,页面大小为4KB;数据Cache采用4路组相联映射,数据区大小为8KB,主存块大小为32B。现有C语言程序段如下:

for (i = 0; i < 24; i++)
    for (j = 0; j < 64; j++) a[i][j] = 10;

已知二维数组a按行优先存放,在虚拟地址空间中分配的起始地址为0042 2000H,sizeof(int)=4,假定在M上执行上述程序段之前数组a不在主存,且在该程序段执行过程中不会发生页面置换。请回答下列问题。

(1) 数组a分为几个页面存储?对于数组a的访问,会发生几次缺页异常?页故障地址各是什么?(3分)

(2) 不考虑变量i和j,该程序段的数据访问是否具有时间局部性?为什么?(2分)

(3) 计算机M的虚拟地址(A31~A0)中哪几位用作块内地址?哪几位用作Cache组号?a[1][0]的虚拟地址是多少?其所在主存块对应的Cache组号是多少?(4分)

(4) 数组a占用多少主存块?假设上述程序段执行过程中数组a的访问不会和其他数据发生Cache访问冲突,则数组a的Cache命中率是多少?若将循环中i和j的次序按如下方式调换:

for (j = 0; j < 64; j++)
    for (i = 0; i < 24; i++) a[i][j] = 10;

则数组a的Cache命中率又是多少?(5分)

你的答案:


评分及理由

(1)得分及理由(满分3分)

学生答案正确计算了数组大小和页面数,正确指出缺页异常次数和页故障地址。得3分。

(2)得分及理由(满分2分)

学生正确判断不具有时间局部性,理由合理。得2分。

(3)得分及理由(满分4分)

学生正确指出块内地址为A4~A0,Cache组号为A10~A5,正确计算a[1][0]虚拟地址为0042 2100H。但在计算Cache组号时,第一次识别结果为16,第二次识别结果也为16,而标准答案为8。这里存在逻辑错误:根据虚拟地址0042 2100H,低12位为页内偏移,其中A10~A5为组索引,计算得组号应为8(具体计算:2100H二进制为0010 0001 0000 0000,取A10~A5即第10位到第5位为001000,即8)。学生计算错误,扣1分。得3分。

(4)得分及理由(满分5分)

学生正确计算数组a占用192个主存块。但在Cache命中率计算上,两次识别结果均为1/8(即12.5%),而标准答案为87.5%。学生计算错误,逻辑错误严重,扣3分。得2分(其中第一小问正确得1分,第二、三小问错误共扣3分,但本小题最低得0分,此处给予部分正确得分)。

题目总分:3+2+3+2=10分

点击此处查看本题答案

第44题 计算机组成原理 综合题 题目链接

(9分)上题中C程序段在计算机M上的部分机器级代码如下,每个机器级代码行中依次包含指令序号、虚拟地址、机器指令和汇编指令。

for(i=0; i<24; i++)
1   00401072  C7 45 F8 00 00 00 00              mov[ebp-8], 0
2   00401079  EB 09                             jmp 00401084h
3   0040107B  8B 55 F8                          mov eax, [ebp-8]
    ...       ...                               ...
7   00401088  7D 32                             jge 004010bch
    for(j=0; j<64; j++)
8   0040108A  C7 45 FC 00 00 00 00              mov[ebp-4], 0
    ...       ...                               ...
        a[i][j]=10;
    ...       ...                               ...
19  004010AE  C7 84 82 00 20 42 00 0A 00 00 00  mov[ecx+edx*4+00422000h], 0Ah
20  ...       ...                               ...

请回答下列问题。

(1) 第20条指令的虚拟地址是多少?

(2) 已知第2条jmp和第7条jge都是跳转指令,其操作码分别是EBH和7DH,跳转地址分别为0040 1084H、0040 10BCH,这两条指令都采用什么寻址方式?给出第2条指令jmp的跳转目标地址计算过程。

(3) 已知第19条mov指令的功能是“a[i][j]←10”,其中ecx和edx为寄存器名,0042 2000H是数组a的首地址,指令中源操作数采用什么寻址方式?已知edx中存放的是变量j,ecx中存放的是什么?根据该指令的机器码判断计算机M采用的是大端还是小端方式。

(4) 第一次执行第19条指令时,取指令过程中是否会发生缺页异常?为什么?

你的答案:


评分及理由

(1)得分及理由(满分3分)

学生两次识别结果均正确给出了第20条指令的虚拟地址为004010B9H。答案正确,得3分。

(2)得分及理由(满分3分)

第一问:学生正确指出两条指令都采用相对寻址方式,得1分。
第二问:学生给出了计算过程,但表述“[PC]+"1"+09H = 00401084H”不严谨,且未明确说明PC更新和下一条指令地址的计算。标准答案要求明确计算步骤(PC+指令长度+偏移量)。考虑到学生思路基本正确(指出了偏移量09H),但过程描述不完整,扣1分。得2分。
本小题总计得3分。

(3)得分及理由(满分2分)

第一问:学生回答源操作数采用“基址寻址方式”是错误的。源操作数是立即数10(0Ah),应采用立即寻址。扣1分。
第二问:学生回答“ecx中存放的是 i×64×4”是错误的。根据指令`[ecx+edx*4+00422000h]`,edx是j,乘以4,因此ecx应为i*256(因为数组a[24][64]中每行有64个int,每个int占4字节,行偏移为64*4=256)。扣1分。
第三问:学生回答“采用的是大端方式”是错误的。指令机器码中立即数0A 00 00 00在内存中低位字节0A在前,符合小端方式。扣1分。
本小题三个小问均答错,但考虑到每题有基本分,且可能存在识别或理解偏差,但核心逻辑均错误,故得0分。

(4)得分及理由(满分1分)

学生结论正确(不会发生缺页异常),理由基本正确(指出与第1条指令在同一页,且第1条指令已调入内存)。得1分。

题目总分:3+3+0+1=7分

点击此处查看本题答案

第45题 操作系统 综合题 题目链接

(7分)现要求学生使用 swap 指令和布尔型变量 lock 实现临界区互斥。lock 为线程间共享的变量。lock 的值为 TRUE 时线程不能进入临界区,为 FALSE 时线程能够进入临界区。某同学编写的实现临界区互斥的伪代码如题 45(a) 图所示。

(1) 题 45(a) 图中伪代码中哪些语句存在错误?将其改为正确的语句(不增加语句条数)。(4分)

(2) 题 45(b) 图中给出了两个变量值的函数 newSwap() 的代码是否可以用函数调用语句“newSwap(&key, &lock)”代替指令“swap key, lock”以实现临界区的互斥?为什么?(3分)

你的答案:


评分及理由

(1)得分及理由(满分4分)

学生指出了第一处错误是“if (key == TRUE)”,并给出了修改方案“if (key == TRUE && lock == FALSE)”。这个修改方案是错误的,因为它没有解决原代码的核心问题:原代码无法实现互斥,且退出区解锁错误。正确的修改应该是将“if”改为“while”进行轮询,并将退出区的“lock = TRUE;”改为“lock = FALSE;”。学生只修改了进入区的条件,且修改后的逻辑仍然无法保证互斥(例如,当lock为FALSE时,两个线程可能同时判断条件成立并进入临界区),同时完全没有提及退出区的错误。因此,该部分回答存在严重的逻辑错误,未能正确修正代码。扣4分,得0分。

(2)得分及理由(满分3分)

学生正确回答了“不可以”,并给出了理由:因为newSwap函数不具有原子性,而实现交换功能的代码应具有原子性,不允许被中断。这个理由与标准答案的核心观点一致,即非原子操作可能导致多个线程同时进入临界区。因此,该部分回答正确。得3分。

题目总分:0+3=3分

点击此处查看本题答案

第46题 操作系统 综合题 题目链接

(8分)进程P通过执行系统调用从键盘接收一个字符的输入,已知此过程中与进程P相关的操作包括:①将进程P插入就绪队列;②将进程P插入阻塞队列;③将字符从键盘控制器读入系统缓冲区;④启动键盘中断处理程序;⑤进程P从系统调用返回;⑥用户在键盘上输入字符。以上编号①~⑥仅用于标记操作,与操作的先后顺序无关。请回答下列问题。

(1) 按照正确的操作顺序,操作①的前一个和后一个操作分别是上述操作中的哪一个?操作⑥的后一个操作上述操作中的哪一个?(3分)

(2) 在上述哪个操作之后CPU一定从进程P切换到其他进程?在上述哪个操作之后CPU调度程序才能选择进程P执行?(2分)

(3) 完成上述哪个操作的代码属于键盘驱动程序?(1分)

(4) 键盘中断处理程序执行时,进程P处于什么状态?CPU处于内核态还是用户态?(2分)

你的答案:


评分及理由

(1)得分及理由(满分3分)

学生答案:操作①的前一个操作是⑤,后一个操作是①(或表述为最后一个操作),操作⑥的后一个操作未明确回答(第一次识别说“操作②的后一个操作是③”,第二次识别说“操作⑤的后一个操作是③”)。

标准答案:操作①的前一个操作是③,后一个操作是⑤;操作⑥的后一个操作是④。

分析:学生对于操作①的前后顺序判断完全错误,且未正确回答操作⑥的后一个操作。核心逻辑错误,应扣分。但考虑到题目有8分,第一问占3分,通常可细分为两个小问(①的前后顺序2分,⑥的后一个操作1分)。学生答案中关于①的前后顺序全错(0分),关于⑥的后一个操作未答或答错(0分)。因此本小题得0分。

(2)得分及理由(满分2分)

学生答案:②操作之后CPU一定从进程P切换到其他进程,①操作之后CPU调度程序才能(或“才有可能”)选中进程P执行。

标准答案:②之后CPU一定从P切换到其他进程;①之后CPU调度程序才能选择P执行。

分析:学生答案与标准答案完全一致。表述“才有可能”与“才能”在此语境下含义相同,不扣分。因此本小题得2分。

(3)得分及理由(满分1分)

学生答案:④

标准答案:③

分析:学生认为属于键盘驱动程序的操作是④(启动键盘中断处理程序),而标准答案是③(将字符从键盘控制器读入系统缓冲区)。操作④通常由硬件或操作系统内核的中断机制触发,其代码属于中断处理的一部分,而将数据从设备控制器读入缓冲区的操作才是驱动程序的核心功能。学生答案逻辑错误,扣1分。因此本小题得0分。

(4)得分及理由(满分2分)

学生答案:P处于阻塞态,CPU处于内核态。

标准答案:P处于阻塞状态;CPU处于内核态。

分析:学生答案与标准答案完全一致。因此本小题得2分。

题目总分:0+2+0+2=4分

点击此处查看本题答案

第47题 计算机网络 综合题 题目链接
(9分)某网络拓扑如图所示,主机H登录FTP服务器后自服务器上估一个大小为18000B的文件F,假设H传输F建立数据连接时,选择的初始序号为100,MSS=1000B,拥塞控制初始阈值为4MSS,RTT=10ms,忽略TCP的传输时延,在F的传输过程中,H以MSS段向服务器发送数据,且未发生差错。丢包和乱序。
(1) FTP的控制连接是持久的还是非持久的?FTP的数据连接是持久的还是非持久的?H登录FTP服务器时,建立的TCP连接是控制连接还是数据连接?(3分)
(2) H通过数据连接发送F时,F的第一个字节序号是多少?在断开数据连接的过程中,FTP发送的第二次挥手的ACK序号是?(2分)

(3) F发送过程中,当H收到确认序号为2101的确认段时,H的拥塞窗口调整为多少?收到确认序号为7101的确认段时,H的拥塞窗调整为多少?(2分)

(4) H从请求建立数据连接开始,到确认F已被服务器全部接收为止,至少需要多长时间,期间应用层数据平均发送速率是多少?(2分)

你的答案:


评分及理由

(1)得分及理由(满分3分)

学生答案:持久的;持久的;控制连接。
标准答案:控制连接是持久的;数据连接是非持久的;控制连接。
评分:学生答对了第一问(控制连接是持久的)和第三问(控制连接),但第二问错误(数据连接应为非持久的,学生答为持久的)。
扣分:第二问错误,扣1分。
得分:2分。

(2)得分及理由(满分2分)

学生答案:101;18101(第二次识别结果)。
标准答案:101;18102。
评分:第一问正确(F的第一个字节序号是101)。第二问,学生答18101,标准答案为18102。F大小为18000B,第一个字节序号为101,最后一个字节序号应为101+18000-1=18100。断开连接时,第二次挥手的ACK序号应为最后一个字节序号+1,即18101。但标准答案为18102,可能存在计算或理解差异。根据常见TCP连接释放过程,ACK序号应为期望收到的下一个序号,即18101。但鉴于标准答案为18102,且学生答案18101接近,可能为识别误差或计算细节差异,根据题目“误写不扣分”原则,此处不扣分。
得分:2分。

(3)得分及理由(满分2分)

学生答案:6MSS,11MSS。
标准答案:3MSS,5MSS。
评分:学生答案完全错误。拥塞控制过程:初始阈值为4MSS,初始拥塞窗口为1MSS。慢启动阶段每收到一个ACK,拥塞窗口增加1MSS。确认序号2101对应第二个MSS段被确认(序号从100开始,第一个数据段序号101-1100,第二个1101-2100,确认2101表示2100及之前数据已收到),此时处于慢启动,拥塞窗口应为3MSS。确认序号7101时,已发送多个段,但根据标准答案,此时拥塞窗口为5MSS。学生答案6MSS和11MSS不符合TCP拥塞控制规则。
扣分:两问均错误,扣2分。
得分:0分。

(4)得分及理由(满分2分)

学生答案:时间=(1.5+18+2)RTT=215ms;平均速率≈83.7MB/s。
标准答案:至少需要6个RTT(60ms);平均速率2.4Mbps。
评分:学生计算的时间(215ms)和速率(83.7MB/s)均错误。正确分析:建立数据连接需3次握手(1.5RTT),传输文件需分段发送(18000B/1000B=18个段),但TCP拥塞控制影响发送时间。根据慢启动和拥塞避免,至少需要6个RTT完成传输(具体过程略)。学生未考虑拥塞控制,直接计算传输时间错误。速率计算单位也错误(应为Mbps而非MB/s)。
扣分:时间计算错误,速率计算错误,扣2分。
得分:0分。

题目总分:2+2+0+0=4分

点击此处查看本题答案

继续练习 练习历史