题10

题目

Q:某系统中共有 11 台磁带机, 个进程共享此磁带机设备,每个进程最多请求使用 3台,则系统必然不会死锁的最大 值是 ( ) 。
A. 4
B. 5
C. 6
D. 7

分析

A:我觉得是9个进程,因为可以给一个是3台,剩下的都是1台,这样的话,当第一台完成了以后,释放的3台,可以依次轮流给下一个进程使用,但是没有9个进程这个选项

考虑极端情况

  • 每个进程已经分配了两台磁带机
  • 任何一个进程只要再分配一台磁带机即可满足它的最大需求
  • 该进程总能运行下去直到结束
    • 然后将磁带机归还给系统再次分配给其他进程使用
  • 系统中只要满足 这个条件即可认为系统不会死锁
    • 解得
    • 也就是说,系统中最多可以并发 5 个这样的进程是不会死锁的
  • 或者,根据死锁公式,资源数大于进程个数乘以 “每个进程需要的最大资源数减 1 ” 就不会发生死锁
      • 其中 是磁带机的数量
      • 是进程的数量
      • 是每个进程最多请求的磁带机数量
  • 代入可得
    • 是正整数
    • 因此系统必然不会死锁的最大 值是 5