首页学历类考试电大国家开放大学《操作系统》
(简答题)

判断下面的同步问题的算法是否正确?若有错,请指出错误原因并予以改正。 设A、B两进程共用一个缓冲区Q,A向Q写入信息,B则从Q读出信息,算法框图如图所示。

正确答案

这个算法不对。
因为A、B两进程共用一个缓冲区Q,如果A先运行,且信息数量足够多,那么缓冲区Q中的信息就会发生后面的冲掉前面的,造成信息丢失,B就不能从Q中读出完整的信息。
进行改正:
A.B两进程要同步使用缓冲区Q。为此,设立两个信号量:
Empty表示缓冲区Q为空,初值为1;
Full表示缓冲区Q为满,初值为0。
算法框图如图所示。

答案解析

相似试题

  • (简答题)

    假定在某移动臂磁盘上,刚刚处理了访问75号柱面的请求,目前正在80号柱面读信息,并且有下述请求序列等待访问磁盘: 请你用最短寻找时间优先算法列出实际处理上述请求的次序。

    答案解析

  • (简答题)

    有一台计算机,有两条I/O通道,分别接一台卡片输入机和一台打印机。卡片机把一叠卡片逐一输入到缓冲区B1中,加工处理后在搬到缓冲区B2中,并在打印机上印出。用P、V操作写出这些进程的同步算法。

    答案解析

  • (单选题)

    下述页面置换算法中会产生Belady现象的算法是()。

    答案解析

  • (判断题)

    Linux电梯调度算法与传统的电梯调度算法是完全一样的。

    答案解析

  • (单选题)

    下列算法中用于磁盘移臂调度的是()。

    答案解析

  • (单选题)

    最容易形成很多小碎片的可变分区算法是()。

    答案解析

  • (判断题)

    平均周转时间和周转时间与选用的调度算法有关。

    答案解析

  • (单选题)

    最先适应分配算法把空闲区()

    答案解析

  • (多选题)

    移臂调度算法主要有()。

    答案解析

快考试在线搜题