文章

35

粉丝

0

获赞

0

访问

6.7k

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


评分及理由

(1)信号量定义及初值(满分2分)

得分:1分

理由:学生定义了四个信号量:mutex_1(取号机互斥,初值1)、empty(顾客座位,初值10)、full(有坐下了多少顾客,初值0)、mutex_2(服务窗口,初值1)。其中empty和full的定义和初值正确,符合生产者-消费者模型中对座位区资源的控制(1分)。mutex_1用于取号机互斥,定义正确(0.5分)。但mutex_2用于服务窗口互斥,而标准答案中服务同步应使用信号量实现等待叫号和叫号后的唤醒,这里用互斥信号量不恰当,且初值1会导致逻辑错误(扣0.5分)。信号量命名与标准答案不完全一致,但含义清晰,不扣分。

(2)顾客进程实现(满分3分)

得分:1分

理由:顾客进程中,P(empty)和P(mutex_1)顺序正确,先检查座位再取号(0.5分);取号后V(mutex_1)和V(full)正确(0.5分)。但等待叫号使用"等待叫号"语句而非P操作,未实现同步(扣1分);获取服务前使用P(mutex_2),但mutex_2是互斥信号量,无法实现营业员叫号后顾客获得服务的同步,且会阻塞其他顾客(扣1分)。整体逻辑不完整,同步机制错误。

(3)营业员进程实现(满分3分)

得分:1分

理由:营业员进程中,P(full)正确检查有顾客等待(0.5分);叫号后V(mutex_2)试图唤醒顾客,但mutex_2作为互斥信号量,V操作不能实现同步唤醒特定顾客,且未实现座位区互斥(扣1分);V(empty)释放座位资源正确(0.5分)。但缺少对座位区的互斥操作(扣1分),服务逻辑不完整。

题目总分:1+1+1=3分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发