文章

57

粉丝

0

获赞

0

访问

4.5k

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


评分及理由

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

学生定义了三个信号量:mutex(初值1,用于取号机互斥)、seat(初值10,用于空座位计数)、service(初值1,用于营业员空闲状态)。其中mutex和seat的定义正确,但service信号量的含义和初值设置不正确。标准答案中需要同步信号量(如full和service_i)来实现顾客等待叫号和营业员叫号的同步,而学生的service信号量初值为1,无法正确实现同步机制。扣1分。

得分:1分

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

顾客进程中使用P(seat)来获取空座位是正确的,P(mutex)保护取号机也是正确的。但缺少对座位区的互斥保护(标准答案中的mutex用于座位区互斥),且"等待叫号"操作直接使用P(service)不正确,这会导致逻辑错误。顾客应该在获取号码后等待被叫号,而不是直接请求服务。扣2分。

得分:1分

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

营业员进程缺少等待有顾客的逻辑(缺少P(full)操作),直接叫号不符合同步要求。V(seat)的位置基本正确,但V(service)在服务完成后释放,这会导致同步时序错误。营业员应该先叫号再服务,并通过信号量通知顾客。扣2分。

得分:1分

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发