文章

36

粉丝

0

获赞

0

访问

783

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


评分及理由

(1)信号量定义部分(满分2分)

学生定义了四个信号量:empty=10(空座位数)、full=0(顾客数)、mutex=1(取号机互斥)、window=1(服务窗口数)。其中empty和full用于同步座位区,mutex用于取号机互斥,这些都是正确的。但window信号量的含义和用法存在问题,服务窗口只有一个且始终由营业员使用,不需要用信号量表示窗口资源,而应该用信号量表示顾客等待叫号的同步关系。缺少服务同步信号量(如service)。扣1分。

得分:1分

(2)顾客进程部分(满分3分)

顾客进程中,P(empty)和P(mutex)顺序正确,取号后V(mutex)正确。但后续逻辑有严重错误:在V(full)之前有"等待叫号",这不符合逻辑;之后又出现一次"等待叫号",且没有对应的P操作来等待营业员叫号;P(window)和V(empty)的位置错误,应该在获得服务后释放座位,而不是用window信号量来控制服务。缺少等待叫号的同步机制。扣2分。

得分:1分

(3)营业员进程部分(满分3分)

营业员进程中,P(full)正确,但缺少对座位区的互斥操作(如P(mutex)和V(mutex))。叫号和服务后V(window)是错误的,因为window信号量本意应该是控制窗口资源,但这里用法不当。缺少对顾客的同步信号量操作(如V(service))。扣2分。

得分:1分

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发