问答题
有三个作业A、B、C,它们分别单独运行时的CPU和I/O占用时间如图2-7所示。
现在请考虑三个作业同时开始执行。系统中的资源有一个CPU和两台输入/输出设备(I/O1和I/O2)同时运行。三个作业的优先级为A最高、B次之、C最低,一旦低优先级的进程开始占用CPU,则高优先级进程也要等待其结束方可占用CPU,请回答下面的问题:
如图2-11所示,三个合作进程P1、P2、P3,它们都需要通过同一设备输入各自的数据a、b、c,该输入设备必须互斥地使用,而且其第一个数据必须由P1进程读取,第二个数据必须由P2进程读取,第三个数据则必须由P3进程读取。然后,三个进程分别对输入数据进行下列计算:
P1:x=a+b;
P2:y=a*b;
P3:z=y+c+a;
最后,P1进程通过所连接的打印机将计算结果x、y、z的值打印出来。请用信号量实现它们的同步。
【参考答案】
为了控制三个进程依次使用输入设备进行输入,需分别设置三个信号量S1、S2、S3,其中S1的初值为1,S2和S3的初值为0......
(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)