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

评分及理由
(1)得分及理由(满分4分)
学生给出的边依次为:A→D、D→E、E→C、C→B。这些边与标准答案 (A,D)、(D,E)、(C,E)、(B,C) 完全一致,且顺序正确。虽然学生用箭头表示边,但表达的含义与标准答案相同。因此得4分。
(2)得分及理由(满分2分)
学生回答"唯一",与标准答案一致。因此得2分。
(3)得分及理由(满分2分)
学生回答"当权值互不相同时",这与标准答案"当带权连通图的任意一个环中所包含的边的权值均不相同时"的核心思想一致,都是指图中没有相同权值的边(或者更准确地说,没有环包含相同权值的边)。虽然表述不够严谨,但抓住了问题的本质。因此得2分。
题目总分:4+2+2=8分

评分及理由
(1)得分及理由(满分4分)
学生回答不正确。问题第一问是解释n=0时f1为何死循环,学生未回答;第二问是改为int型是否死循环,学生回答“不会”,理由基本正确(n-1为负数,条件不满足)。因此第一问部分正确,得2分。
(2)得分及理由(满分3分)
学生回答f1(23)和f2(23)返回值相等正确;f1(23)机器数写为“00 FF FFFFH”,应为“00FFFFFFH”,但识别可能有误,且格式不标准,但核心值正确;f2(23)机器数写为“4B7FFFFFH”正确。得3分。
(3)得分及理由(满分1分)
学生回答f1(24)结果为251、f2(24)为241,数值错误,但提到了尾数舍入和精度缺失,与标准答案思路部分一致。由于数值错误,扣0.5分,得0.5分。
(4)得分及理由(满分2分)
学生回答f1(31)因int型溢出解释正确;最大n为30正确。得2分。
(5)得分及理由(满分3分)
学生回答f2(127)对应值“2¹²⁸”错误,应为+∞;最大n不溢出为126正确;精确最大n为23正确。因此第一部分错误,扣1分,后两部分正确,得2分。
题目总分:2+3+0.5+2+2=9.5分

评分及理由
(1)得分及理由(满分2分)
学生回答正确指出计算机M是CISC,并正确说明理由(指令不定长,而RISC指令定长)。答案与标准答案一致,得2分。
(2)得分及理由(满分2分)
学生计算过程为0040107FH - 00401020H = 5FH = 95字节,但标准答案为96字节。错误在于未加1(地址范围包含首尾,长度应为末地址-首地址+1)。此计算错误属于逻辑错误,扣1分。得1分。
(3)得分及理由(满分3分)
学生正确得出CF=1,并给出计算过程:n-1=FFFFFFFFH,-(n-1)=00000001H,CF=Cin⊕Cout=1⊕0=1。虽然表述与标准答案略有差异,但思路正确且结果一致。得3分。
(4)得分及理由(满分3分)
学生正确回答"不能",并说明理由:f1的power是int型可通过左移实现,f2的power是float型,其阶码表示大小,不能通过左移实现乘2。理由与标准答案一致。得3分。
题目总分:2+1+3+3=9分

评分及理由
(1)得分及理由(满分1分)
学生回答“1页”,与标准答案一致,且理由正确(函数f1的代码段所有指令虚拟地址高20位相同,因此在同一页中)。得1分。
(2)得分及理由(满分2分)
学生回答“第1表项,第1个表项”,与标准答案一致(页目录第1个表项,页表第1个表项)。得2分。
(3)得分及理由(满分4分)
学生回答“由运行态→阻塞态→就绪态→运行态”,正确描述了进程状态变化过程,符合标准答案要求(执行态→阻塞态→就绪态→运行态)。但未明确回答“CPU是否会进入内核态”的问题,只回答“会”字不完整。根据标准答案,CPU状态变化是得分点之一,此处缺少完整表述,扣1分。得3分。
题目总分:1+2+3=6分

评分及理由
(1)信号量定义得分及理由(满分3分)
学生定义了两个信号量:mutex_y和mutex_z,分别用于保护y和z的互斥访问。但标准答案中需要三个信号量,因为thread1和thread2都需要访问y,且thread3同时修改y和z,需要更细粒度的控制。学生只定义了两个信号量,缺少对y的细粒度控制,扣1分。得分:2分
(2)thread1代码得分及理由(满分1分)
thread1中正确使用P(mutex_y)和V(mutex_y)保护了对y的访问,逻辑正确。得分:1分
(3)thread2代码得分及理由(满分2分)
thread2中先申请mutex_y再申请mutex_z,然后执行add(y,z),最后按相反顺序释放。但由于缺少细粒度控制,当thread1和thread2同时访问y时会出现不必要的互斥,降低了并发度。扣1分。得分:1分
(4)thread3代码得分及理由(满分2分)
thread3中对z的操作正确加锁,但对y的操作只使用了一个mutex_y,没有考虑thread1和thread2可能同时访问y的情况,这会降低并发度。扣1分。得分:1分
题目总分:2+1+1+1=5分

评分及理由
(1)得分及理由(满分3分)
学生回答正确接收了3个数据帧,分别是S0,0、S1,0、S2,0,与标准答案完全一致。得3分。
(2)得分及理由(满分3分)
学生回答最多还可以发送5个数据帧,数量正确。但第一个帧写为S5,4,最后一个帧写为S1,4,而标准答案是S5,2和S1,2。确认序号y值错误,表明对GBN协议中确认序号含义理解有误。扣2分。得1分。
(3)得分及理由(满分2分)
学生回答需要重发3个数据帧,数量正确。但重发的第一个帧写为S2,3,而标准答案是S2,3(确认序号应为3)。这里可能是识别问题,S2,3与标准答案一致。得2分。
(4)得分及理由(满分1分)
学生计算传输时延0.08ms正确,但利用率公式错误:学生使用8×0.08/(0.08+0.96),而标准答案使用7×0.08/(0.96+2×0.08)。学生对GBN协议窗口大小和利用率计算理解错误。扣1分。得0分。
题目总分:3+1+2+0=6分