有三个进程PA,PB和PC协作解决文件打印问题,见图3-26所示,PA将文件记录从磁盘读入内存的缓冲区1,每执行一次读一个记录;PB将缓冲区1的内容复制到缓冲区2,每执行一次复制一个记录;PC将缓冲区2的内容打印出来,每执行一次打印一个记录。缓冲区的大小和一个记录大小一样。请用P、V操作来保证文件的正确打印。[img=1192x274]17e0cd550a508cf.png[/img]
举一反三
- 有三个进程PA、PB和PC协作解决文件文件打印问题。PA将文件记录从磁盘读入内存的缓冲区1,每执行一次读一个记录;PB将缓冲区1的内容复制到缓冲区2中,每执行一次复制一个记录;PC将缓冲区2的内容打印出来,每执行一次打印一个记录。缓冲区的大小与记录大小一样。请用信号量来保证文件的正确打印。
- 有3个进程PA、PB和PC协作解决文件打印问题:PA将文件记录从磁盘读入主存的缓冲区1,每执行一次读一个记录;PB将缓冲区1的内容复制到缓冲区2,每执行一次复制一个记录;PC将缓冲区2的内容打印出来,每执行一次打印一个记录,缓冲区的大小和一个记录大小一样。三个进程执行的过程已给出,根据所定义的信号量,把应执行的PV操作填入下述方框中,以保证文件的正确打印。Varempty1,full1,empty2,full2:semaphore:=1,0,1,0;PA:beginrepeat从磁盘读一个记录;;将记录存放到缓冲区1中;;untilfalseendPB:beginrepeat;从缓冲区1中取出一个记录;;;将记录复制到缓冲区2中;;untilfalseendPC:beginrepeat;从缓冲区2中取出一个记录;;将取出的记录打印出来;untilfalseend
- 有3个进程P1,P2和P3合作解决⽂件打印问题; 1、P1将⽂件记录从磁盘读⼊主存的缓冲区1,每执⾏⼀次读⼀个记录; 2、P2将缓冲区1的内容复制到缓冲区2,每执⾏⼀次复制⼀个记录; 3、P3将缓冲区2的内容打印出来,每执⾏⼀次打印⼀个记录。缓冲区的⼤⼩等于⼀个记录⼤⼩。 请⽤P,V操作来保证⽂件的正确打印。
- 1.有三个进程p1、p2、p3协作解决文件打印问题:系统有两个环形缓冲池,每个缓冲池有n个缓冲区;p1每次将1
- 设有一缓冲池P,P中含有20个可用缓冲区,一个输入进程将外部数据读入P,另有一个输出进程将P中数据取出并输出。若讲程每次操作均以一个缓冲区为单位,试用记录型信号量写出两个进程的同步算法,要求写出信号量的初值。