文章

27

粉丝

0

获赞

0

访问

956

头像
2020年(408)计算机学科专业基础综合试题 - 第45题回答
操作系统
发布于2025年11月15日 18:10
阅读数 7

因为操作C必须在A和B完成后执行,操作E必须在C和D完成和执行;

semaphore(mute_x1)=1;//互斥信号量用于判定操作A和B是否已经完成

semaphore(mute _x2)=1;//互斥信号量用于判定操作C和D是否已经完成

wait(mute_x1);

wait(mute _x2)

process A;

Process B;

signal(mute_x1);

process  C;

process D;

signal (mute_x2);

process E


评分及理由

(1)得分及理由(满分7分)

学生作答存在以下问题:

  1. 信号量使用错误:学生使用了互斥信号量(初值为1)而不是同步信号量(初值为0),这无法正确实现操作间的同步关系。
  2. 逻辑结构错误:学生将多个操作放在同一个信号量控制块中,没有体现并发执行的过程(如A和B应该可以并行执行,但学生的写法会强制顺序执行)。
  3. 缺少必要的等待操作:操作C需要等待A和B完成,操作E需要等待C和D完成,但学生的代码中没有体现这些等待关系。
  4. 信号量命名不规范:使用了mute_x1、mute_x2等名称,没有清晰表达信号量的用途。

根据以上错误,该答案未能正确描述操作间的同步关系,最多只能给1分(因为学生识别出了存在同步关系,但实现方法完全错误)。

得分:1分

题目总分:1分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发