文章
17
粉丝
0
获赞
1
访问
1.5k

评分及理由
(1)信号量定义得分及理由(满分0分)
学生作答中未定义任何信号量,没有给出信号量的初始值。标准答案要求定义四个信号量:odd、even、empty、mutex。此项得0分。
(2)P1进程实现得分及理由(满分2分)
学生作答中P1进程存在严重逻辑错误:先执行V(odd)或V(even)信号操作,再执行P(mutex)和put(n)。这会导致消费者进程可能在数据还未放入缓冲区时就被唤醒,造成数据不一致。此外缺少对缓冲区空单元的检查(P(empty))。根据打分要求,逻辑错误需要扣分,此项得0分。
(3)P2进程实现得分及理由(满分2分)
学生作答中P2进程缺少从缓冲区取出奇数的操作(getodd()),只有计数操作(countodd())。同时缺少取出数据后释放缓冲区空单元的操作(V(empty))。存在逻辑错误,此项得0分。
(4)P3进程实现得分及理由(满分2分)
学生作答中P3进程同样缺少从缓冲区取出偶数的操作(geteven()),只有计数操作(counteven())。同时缺少取出数据后释放缓冲区空单元的操作(V(empty))。存在逻辑错误,此项得0分。
(5)整体结构得分及理由(满分1分)
学生作答基本框架正确,有三个进程的划分,但整体实现存在多处关键逻辑错误,无法正确实现同步互斥功能。此项得0分。
题目总分:0+0+0+0+0=0分
登录后发布评论
暂无评论,来抢沙发