设有一缓冲池P,P中含有10个可用缓冲区,一个输入进程将外部数据读入P,另有一个输出进程将P中数据取出并输出,如下所示。若进程每次操作均以一个缓冲区为单位,试用记录型信号量写出两个进程的同步算法,要求写出信号量的设置。 输入进

admin2018-08-12  31

问题 设有一缓冲池P,P中含有10个可用缓冲区,一个输入进程将外部数据读入P,另有一个输出进程将P中数据取出并输出,如下所示。若进程每次操作均以一个缓冲区为单位,试用记录型信号量写出两个进程的同步算法,要求写出信号量的设置。
               输入进程                     输出进程
               ……                         ……
               L:读入数据                  L:从一满缓冲区中取出数据
               ……                         ……
               将数据写入一空缓冲区将       数据输出
               GOTO L                       GOTO L

选项

答案(1)设置信号量mutex,empty,full 初值:mutex=1,empty=10,full=0 (2)设置wait,signal操作如下: 输入进程 输出进程 L:读入数据 L:wait(full) wait(empty) wait(mutex) wait(mutex) 从一满缓冲区中取出数据 将数据写入一空缓冲区 signal(mutex) signal(mutex) signal(empty) signal(full) 数据输出 ……

解析
转载请注明原文地址:https://jikaoti.com/ti/CwfjFFFM
0

最新回复(0)