文章
281
粉丝
40
获赞
2
访问
24.2k
(1)因为wait()和signal()是需要保证原子性,否则多个进程同时进行wait()和signal()的时候,会有数据冲突
(2)
方法1,不正确
wait()方法内不能一直while(s <= 0) s= s-1;
否则会执行s--;的死循环
方法2,正确
(3)
在单处理机下,可以通过禁用中断的方式完成临界区互斥
在多处理机下,不可以通过禁用中断的方式完成临界区互斥,比方说访问外设资源
评分及理由
(1)得分及理由(满分2分)
学生回答指出需要保证原子性以避免数据冲突,这与标准答案中“多个进程共享变量,需要互斥访问”的核心思想一致,但表述不够精确(未明确提及“共享变量”和“读写操作”)。扣1分,得1分。
(2)得分及理由(满分3分)
学生正确指出方法1错误(死循环),但理由不准确(错误描述为“执行s--的死循环”,实际是“while循环无法退出”)。方法2正确判断正确,但未给出具体解释。扣1分(理由不充分),得2分。
(3)得分及理由(满分2分)
学生回答部分正确(多处理机下不可用),但错误认为单处理机下可用(用户程序无特权执行关中断指令)。未提及“特权指令”关键点。扣1分,得1分。
题目总分:1+2+1=4分
登录后发布评论
暂无评论,来抢沙发