文章
35
粉丝
0
获赞
2
访问
3.1k

评分及理由
(1)得分及理由(满分2分)
学生答案:“(1) Wait( )和Signal( )操作中涉及对数据S的修改,所以必须互斥访问。” 该答案点明了信号量S是共享变量,多个进程可能同时修改它,因此需要互斥。核心逻辑与标准答案一致,虽然表述简单,但意思正确。应得2分。
(2)得分及理由(满分3分)
学生答案:“(2) 方法1正确。方法2错误,方法2中Wait(S)和Signal(S)操作可能会同时对S进行访问并修改。” 此答案存在严重逻辑错误。方法1中,当S≤0时,关中断后进程进入while死循环,由于其他进程无法获得CPU来执行signal()(中断关闭导致无法切换进程),因此系统会死锁,方法1是错误的。而方法2在while循环中加入了开中断再关中断的操作,允许其他进程有机会执行signal()并修改S,因此方法2是正确的。学生完全颠倒了判断,应扣3分。得0分。
(3)得分及理由(满分2分)
学生答案:“(3) 可以使用开/关中断指令实现临界区互斥。临界区互斥一次只能一个用户程序进行,开/关中断指令可以实现。” 该答案错误,因为开中断和关中断指令是特权指令,用户程序无权使用,只能由操作系统内核执行。学生的理解与标准答案相悖,应扣2分。得0分。
题目总分:2+0+0=2分
登录后发布评论
暂无评论,来抢沙发