文章

117

粉丝

160

获赞

0

访问

3.7k

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


评分及理由

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

学生定义了四个信号量:set=10(表示空座位数)、customer=0(表示等待顾客数)、mutex=1(互斥取号)、serve=0(同步服务)。这些信号量的含义和初值基本正确,但serve信号量的注释不完整("当serve被营业员+1才"),不过核心定义正确。扣0.5分。得1.5分。

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

顾客进程流程正确:先P(set)检查空座位,再P(mutex)互斥取号,取号后V(mutex)释放取号机,然后V(customer)增加等待顾客数,接着等待叫号(这里隐含了P(serve)操作),最后获得服务。但标准答案中顾客进入座位区需要互斥保护,这里缺少对座位区的互斥操作(P(mutex)和V(mutex)围绕"进入座位区")。扣1分。得2分。

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

营业员进程流程基本正确:先P(customer)检查有等待顾客,然后P(mutex)互斥叫号,叫号后V(mutex)释放互斥锁,V(set)释放空座位,V(serve)通知顾客开始服务,最后为顾客服务。但标准答案中顾客离开座位区需要互斥保护,这里缺少对座位区的互斥操作(P(mutex)和V(mutex)围绕"顾客离开座位区")。扣1分。得2分。

题目总分:1.5+2+2=5.5分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发