进程P不断地从外部设备输入数据后通过缓冲区K向进程Q成批(以缓冲区大小为单位)传送,进程Q接到数据并做进一步处理后通过缓冲区T向进程S成批传送,进程R接到数据后将它们打印出来,K和T大小一样。要求打印数据的次序与进程P接收数据的次序一样。
为了在保证结果正确性的前提下尽可能并行工作,需要设置(23)。
A.两个信号量,初值分别为0,1
B.3个信号量,初值分别为1,1,0
C.4个信号量,初值分别为1,0,1,0
D.5个信号量,初值分别为1,0,1,1,0
第1题:
某系统在打印数据时,读数据进程、处理数据进程和打印结果进程之间的相互关系是
A.互斥关系
B.同步关系
C.前趋关系
D.后趋关系
第2题:
1、系统中有3个进程A,B,C,相互协作完成对一组数据的分类汇总工作。进程A循环地从一个存着整数的文件中不断地读出数据,若该整数为偶数则放入1号缓冲区;若该整数为奇数则放入2号缓冲区。进程B不断的从1号缓冲区读出数据并累计求和;进程C不断的从2号缓冲区读出数据并累计求和。每个缓冲区最多都可以放5个整数。试用信号量的PV操作实现三个进程间的同步关系。 (1)请分析三个进程之间的互斥和同步关系 (2)说明信号量的设置、初值及含义。 (3)请用P、V操作写出它们能正确并发执行的程序。
第3题:
两个进程合作完成数据计算和打印工作,计算进程未计算完就不可打印,反之亦然,双方共用一个缓冲区,写出此算法。
第4题:
1、(8分)有3个并发进程P、P1、P2合作处理数据,P从输入设备读数据到缓冲区,缓冲区可存1000个字。P1和P2功能一样,都是从缓冲区取出数据并计算,再把结果打印请用信号量PV操作实现,其中语句read()从输入设备读入20个字到缓冲区;get()从缓冲区取出20个字;comp()计算40个字并输出并得到结果1个字;printf()打印结果2个字。
第5题:
SPOOLing系统的组成如下: (1)输入和输出井; (2)输入和输出缓冲区; (3)()。
A.CPU
B.输入进程和输出进程。
C.内存
D.数据打印表