文章

281

粉丝

40

获赞

2

访问

24.2k

头像
2021年计算机学科专业基础综合试题 - 第45题回答
操作系统
发布于2025年9月11日 21:12
阅读数 53

(1)

因为wait()和signal()需要保证原子性,当有多个进程同时访问wait()或者signal()的时候。

会同时根据原有的S值更新S值,造成数据冲突

(2)

方法1错误

wait()方法中关中断后,没有其他进程可以修改S的值,会导致while()循环无法退出

方法2正确

(3)

不能,因为中断指令是特权指令,用户程序不能直接使用特权指令


评分及理由

(1)得分及理由(满分2分)

学生答案正确指出了多个进程同时访问wait()或signal()时会导致数据冲突,并强调了原子性的必要性。这与标准答案中“信号量S是能够被多个进程共享的变量,多个进程都可以通过wait()和signal()对S进行读、写操作,必须互斥”的核心观点一致。答案完整且准确,得2分。

(2)得分及理由(满分3分)

学生正确判断方法1错误,并给出了正确理由(关中断后其他进程无法修改S,导致死循环)。同时正确判断方法2正确(标准答案也认为方法2正确)。理由充分,与标准答案一致。得3分。

(3)得分及理由(满分2分)

学生正确回答“不能”,并给出了关键理由“中断指令是特权指令,用户程序不能直接使用特权指令”,这与标准答案完全一致。得2分。

题目总分:2+3+2=7分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发