2021年4_36:假设系统有三个并发进程read、move和print 共享缓冲区B1和B2。
进程read负责从输入设备上读取信息,每读取一条记录后把它存入缓冲区 B1中;
进程 move 负责从缓冲区B1中取出一条记录,整理后放入缓冲区B2;
进程 print 负责将缓冲区B2中的记录取出并打印输出。
缓冲区B1和B2每次只能存放1个记录。
要求三个进程协调完成任务,使打印出来的记录与读入的记录个数和次序完全一样。
(1)列出所需的信号量并初始化。
(2)用记录型信号量机制的wait操作和signal操作写出三个进程的同步代码。