有m个进程(P0,P1,…,Pm-1)通过n个缓冲区(B0,B1,…Bn-1)向1个进程(Q)发送数据包,每个数据包大小与缓冲区一样。要求:进程Q接收数据包的次序与发送次序一样。为保证发送进程与接收进程正确地并行工作,需要设置(23)。A.一个信号量,初值为0B.一个信号量,初值为1C.两个信号量,初值分别为0和1D.3个信号量,初值分别为n、1、0

题目

有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


相似考题
更多“有m个进程(P0,P1,…,Pm-1)通过n个缓冲区(B0,B1,…Bn-1)向1个进程(Q)发送数据包,每个数据包大小与缓 ”相关问题
  • 第1题:

    13、如果把IP地址比作一间房子 ,端口就是出入这间房子的门。 不光接受数据包的进程需要开启它自己的端口,发送数据包的进程也需要开启端口。


    正确

  • 第2题:

    一条MTU是1000字节的链路,假设每个数据包有 20字节的头部信息,传输有效载荷为1980字节所需数据包的最小数目是多少?假设先前的数据包是最大尺寸,那么最后一个数据包的大小是多少?

    A.3 个数据包,第三个数据包大小为 40 字节

    B.3 个数据包,第三个数据包大小为 20 字节

    C.2 个数据包,第二个数据包大小为 1000 字节

    D.2 个数据包,第二个数据包大小为 980 字节


    3 个数据包,第三个数据包大小为 40 字节

  • 第3题:

    某系统有同类资源m个,被n个进程共享,请分别讨论当m>n和m≤n时每个进程最多可以请求多少个这类资源,才能使系统一定不会发生死锁?


    证明:在最坏情况下,每个进程都已占有(x-1)个该类资源,各进程最多再申请1个资源就可以运行完毕,进而释放它所占有的全部资源。在此情况下,系统剩余的资源数为:m-n*(x-1)。当m-n*(x-1)≥1时,即n*x≤m+n-1时,至少有1个进程可以获得全部资源,从而能运行完成,释放资源供别的进程使用,因此系统不会出现死锁。因此得出,系统中所有进程的最大需求之和ΣNeedi满足下式时不会死锁:ΣNeedi=n*x≤m+n-1 或 ΣNeedi 证毕。

  • 第4题:

    1、某系统有同类资源m个,供n个进程共享。如果每个进程最多申请x个资源(其中1<=x<=m),请证明:当n(x-1)+1<=m时,系统不会发生死锁。


    证明:在最坏情况下,每个进程都已占有(x-1)个该类资源,各进程最多再申请1个资源就可以运行完毕,进而释放它所占有的全部资源。在此情况下,系统剩余的资源数为:m-n*(x-1)。当m-n*(x-1)≥1时,即n*x≤m+n-1时,至少有1个进程可以获得全部资源,从而能运行完成,释放资源供别的进程使用,因此系统不会出现死锁。因此得出,系统中所有进程的最大需求之和ΣNeedi满足下式时不会死锁:ΣNeedi=n*x≤m+n-1 或 ΣNeedi 证毕。

  • 第5题:

    N个进程共享M个资源,每个进程一次只能申请/释放一个资源,每个进程最多需要M个资源,且所有进程资源需求总和小于M+N,请证明该系统此时不会发生死锁。


    设max (i)表示第i个进程的最大资源需求量,need(i)表示第i个进程还需要的资源量,alloc(i)表示第i个进程已分配的资源量。由题中所给条件可知:  max(1)+┅+max(n)=(need(1)+┅+need(n))+((alloc(1)+┅+alloc(n)) 如果在这个系统中发生了死锁,那么一方面m个资源应该全部分配出去,           alloc(1)+ ┅+alloc(n)=m  另一方面所有进程将陷入无限等待状态。可以推出           need(1)+ ┅+need(n) 上式表示死锁发生后,n个进程还需要的资源量之和小于n,这意味着此刻至少存在一个进程i,need(i)=0,即它已获得了所需要的全部资源。既然该进程已获得了它所需要的全部资源,那么它就能执行完成并释放它占有的资源,这与前面的假设矛盾,从而证明在这个系统中不可能发生死锁。