应用题 11.有三个进程PA、PB和PC合作解决文件打印问题:PA将文件记录从磁盘读入主存的缓j中区l,每执行一次读一个记录;PB将缓冲区1的内容复制到缓冲区2,每执行一次复制一个记录;PC将缓冲区2的内容打印出来,每执行一次打印一个记录。缓冲区的大小等于一个记录的大小。请用P、V操作来保证文件的正确打印。
【正确答案】本题考查用P、V操作解决进程的同步互斥问题。
(1)进程PA、PB、PC之间的关系为:PA与PB共用一个单缓冲区,PB又与PC共用一个单缓冲区,其合作方式如下图所示。当缓冲区1为空时,进程PA可将一个记录读入其中;若缓冲区1中有数据且缓冲区2为空,则进程PB可将记录从缓冲区1复制到缓冲区2中:若缓冲区2中有数据,则进程PC可以打印记录。在其他条件下,相应进程必须等待。事实上,这是一个生产者一消费者问题。
【答案解析】