文章
60
粉丝
0
获赞
0
访问
3.8k
(1)因为如果wait()和signal()操作中队信号量S的访问不是互斥执行就有可能导致死循环。
(2)方法1正确,方法2会在循环里一直执行开关中断跳不出循环。
(3)不能,还需要互斥信号量。
评分及理由
(1)得分及理由(满分2分)
学生回答“因为如果wait()和signal()操作中队信号量S的访问不是互斥执行就有可能导致死循环”得1分。理由:学生指出了不互斥会导致问题,但未准确说明核心原因是多个进程对共享变量S的读写操作需要互斥,而“死循环”只是可能出现的后果之一,不够全面准确。
(2)得分及理由(满分3分)
学生回答“方法1正确,方法2会在循环里一直执行开关中断跳不出循环”得0分。理由:学生判断完全错误。方法1在S<=0时会因关中断导致死循环,方法2通过循环内开关中断避免了这个问题,是正确的实现。学生未能正确分析两种方法的逻辑错误和正确性。
(3)得分及理由(满分2分)
学生回答“不能,还需要互斥信号量”得1分。理由:学生虽然给出了正确结论“不能”,但理由“还需要互斥信号量”不准确。真正原因是开/关中断是特权指令,用户程序无权执行,而不是因为需要其他同步机制。
题目总分:1+0+1=2分
登录后发布评论
暂无评论,来抢沙发