文章

281

粉丝

40

获赞

2

访问

24.3k

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

(1) 

有两个错误

第一个错误,if(key == TRUE) swap key,lock;这句话错了,需要判断的不是key,是lock。应该修改为while(key == TRUE) swap key,lock;

第二个错误是lock = TRUE,退出区需要把lock 置为FALSE,让其他进程可以进入。应该修改为 lock = FALSE;

(2)

不可以实现互斥,因为swap指令是原子指令,需要保证原子性,newswap不具备原子性,当多个进程同时访问的时候可能会同时进入临界区

可能会违反忙则等待的条件


评分及理由

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

学生指出了两个错误:一是进入区的条件判断错误,二是退出区的赋值错误。第一个错误,学生认为需要判断lock而不是key,但标准答案指出需要将if改为while并保持判断key,学生此处修改不完全正确(应保持判断key,但改为循环)。学生实际修改为“while(key == TRUE) swap key,lock;”,这与标准答案一致,但理由部分“需要判断的不是key,是lock”是错误的(正确理由应是需要循环而非条件判断)。第二个错误修改正确(lock = FALSE)。因此,第一个错误修改正确但理由错误,扣1分;第二个错误完全正确,得2分。本小题得3分(满分4分)。

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

学生回答“不可以实现互斥”,理由正确(swap是原子指令,newSwap不具备原子性,可能导致多个进程同时进入临界区)。学生还提到“违反忙则等待”,这虽未在标准答案中明确,但属于正确补充(不扣分也不加分)。回答完整且正确,得3分(满分3分)。

题目总分:3+3=6分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发