文章

62

粉丝

0

获赞

0

访问

9.7k

头像
2021年(408)计算机学科专业基础综合试题 - 第45题回答
操作系统
发布于2025年11月25日 11:37
阅读数 33

(1)

S = S - 1和S = S + 1在执行过程中可能会发生调度,此时增减操作并未完成,其他操作读取的S值为未完成操作的结果。

 

(2)

方法一错误,进入关中断后进行while,之后的signal都不能进入中断执行S = S + 1

方法二错误,进入关中断后进行while,之后的signal都不能进入中断执行S = S + 1

 

(3)

能,将临界区用开关中断进行保护,将while(S<=0)放在关中断之前


评分及理由

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

学生回答指出了S=S-1和S=S+1操作在执行过程中可能被调度打断,导致其他进程读取到不完整的S值,这基本正确描述了互斥的必要性。但回答未明确强调信号量S是共享变量,以及多个进程并发访问会导致竞态条件。根据标准答案,回答基本正确但不够完整,扣0.5分。

得分:1.5分

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

学生正确指出方法1错误,理由正确(关中断后while循环无法被其他进程修改S,导致死循环)。但学生错误地认为方法2也是错误的,理由与方法1相同,这忽略了方法2在while循环内交替开关中断的改进,允许其他进程执行signal操作。因此,方法2的判断和理由错误,扣2分(方法2判断错误扣1.5分,理由错误扣0.5分)。方法1部分得1分。

得分:1分

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

学生回答错误地认为用户程序可以使用开/关中断指令实现临界区互斥,并提出了修改方案(将while放在关中断前),但未认识到开/关中断是特权指令,用户程序无法直接使用。根据标准答案,回答完全错误。

得分:0分

题目总分:1.5+1+0=2.5分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发