嵌入式笔试面试题(8)---死锁

产生死锁的必要条件是什么?解决死锁有几种方法?

产生死锁的原因主要是:
1) 因为系统资源不足。
2) 进程运行推进的顺序不合适。
3) 资源分配不当等。

死锁的四个必要条件

互斥条件(Mutual exclusion):资源不能被共享,只能由一个进程使用。
请求与保持条件(Hold and wait):已经得到资源的进程可以再次申请新的资源。
非剥夺条件(No pre-emption):已经分配的资源不能从相应的进程中被强制地剥夺。
循环等待条件(Circular wait):系统中若干进程组成环路,该环路中每个进程都在等待相邻进程正占用的资源。

处理死锁的策略
3.仔细地对资源进行动态分配,以避免死锁。
4.通过破除死锁四个必要条件之一,来防止死锁产生。

43、临界区内有 A,B,C,D,E五个资源,进程1需要AC资源,进程2 需要BC资源,进程3需要BDE资源,进程4需要AE资源,可能处于死锁的进程数()

猜你喜欢

转载自blog.csdn.net/xt18971492243/article/details/79371904