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