文章
20
粉丝
0
获赞
0
访问
163
(1)若在wait()和signal()操作中不对信号量S的访问互斥执行,可能会导致S的值不能正确传输,程序陷入无止境的循环
(2)方法一错误,S跳出循环的条件是S大于0,但循环内的操作是S-1,会导致程序陷入死循环。方法二正确
(3)不可以,因为中断操作只能在内核态进行
评分及理由
(1)得分及理由(满分2分)
学生回答部分正确,指出了不互斥会导致信号量值不正确和程序循环问题,但未明确说明信号量是共享变量以及多个进程并发访问会导致竞态条件。扣1分,得1分。
(2)得分及理由(满分3分)
学生正确判断方法1错误和方法2正确,但对方法1错误原因的解释不准确。方法1的错误在于关中断后其他进程无法修改S值导致死循环,而不是因为"S跳出循环的条件是S大于0,但循环内的操作是S-1"这个逻辑问题。扣1分,得2分。
(3)得分及理由(满分2分)
学生回答正确,明确指出中断操作只能在内核态进行,开/关中断是特权指令。得2分。
题目总分:1+2+2=5分
登录后发布评论
暂无评论,来抢沙发