文章

68

粉丝

0

获赞

0

访问

1.2k

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


评分及理由

(1)信号量定义部分得分及理由(满分2分)

学生定义了empty=10(空座位数)、full=0(等待人数)、mutex=1(取号机互斥)和Signal=0(叫号同步信号量),这些信号量的含义和初值基本正确,符合题目要求。但Signal的命名不够规范(通常使用service或类似名称),不过不影响理解,因此不扣分。得2分。

(2)顾客进程实现得分及理由(满分3分)

顾客进程中,先P(empty)检查空座位,再P(mutex)互斥使用取号机,取号后V(mutex)释放取号机,然后V(full)增加等待人数,最后P(Signal)等待叫号。这些步骤顺序正确,实现了互斥和同步。但缺少进入座位区的具体操作描述(如"进入等待区"),不过题目未明确要求写出该操作,且逻辑正确,因此不扣分。得3分。

(3)营业员进程实现得分及理由(满分3分)

营业员进程中,先P(full)检查是否有等待顾客,然后叫号,接着服务顾客,最后V(Signal)通知顾客服务开始和V(empty)释放一个空座位。这里存在逻辑错误:V(Signal)应该在叫号后立即执行,而不是在服务完成后执行,否则顾客在服务完成后才被通知,不符合"等待叫号后获得服务"的顺序。此外,缺少对座位区的互斥操作(如离开座位区),但题目未强调该操作,主要扣分点在于Signal操作的顺序错误。扣1分。得2分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发