文章
163
粉丝
0
获赞
1
访问
37.1k

评分及理由
(1)得分及理由(满分2分)
学生回答"因为如果不互斥执行,则可能会发生死锁"得1分。虽然提到了需要互斥的原因,但没有准确说明信号量S是共享变量,多个进程可能同时访问导致数据不一致的问题。标准答案强调的是共享变量的读写需要互斥,而死锁只是可能的结果之一,回答不够全面准确。
(2)得分及理由(满分3分)
学生回答"方法1正确,方法2不正确"得0分。判断完全错误。方法1是错误的,因为在wait()中关中断后,如果S<=0会陷入死循环;方法2是正确的,通过在循环内开关中断避免了死循环问题。学生给出的理由"方法2中在while循环内放置开/关中断指令就无法实现信号量互斥"也是错误的。
(3)得分及理由(满分2分)
学生回答"不能"和"因为开/关中断指令只能在内核态执行,而用户程序在用户态"得2分。回答完全正确,准确指出了开/关中断是特权指令,只能在核心态执行。
题目总分:1+0+2=3分
登录后发布评论
暂无评论,来抢沙发