资源调用--死锁的情况
1、公式
总共有w个资源,有n个进程,每个进程使用r个资源。那么w必须>= n*(r-1)+1,需要的资源>=并发的进程数*(每个资源需要的进程数-1)+1
例:
若在系统中有6个互斥并发进程,每个进程需要2个资源,那么使系统不发生死锁的资源的最少数目为多少?
m >= 6*(2-1)+1 = 7
所以,最少需要资源数为7。
例:
系统中有R类资源m个,现有n个进程互斥使用,若每个进程对R资源的最大需求为w,那么当m、n、w分别取下表中的值时,对于表中的①–⑥中情况,
____可能会发生死锁。若将这些情况得m分别加上 ____,则系统不会发生死锁。
1、A. ①②⑤ B. ③④⑤ C. ②④⑤ D. ②④⑥
2、A. 1、1和1 B. 1、1和2 C. 1、1和3 D. 1、2和1
1解:根据m>=n*(w-1)+1,例如:①中3>=2*(2-1)+1 符合,则①不会发生死锁。同理②、④、⑤可能发生死锁, ①、 ③、⑥不会发生死锁。所以1选C。
2解:例如②,则3*(2-1)+1-1 = 1,所以②+1不会发生死锁。④中3*(3-1)+1-5 = 2。所以选D。
例:某系统中有 3 个并发进程竞争资源 R,每个进程都需要 5 个 R,那么至少有(24)个 R,才能保证系统不会发生死锁。
A.12 B.13 C.14 D.15
解析:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】