并发进程控制讲义-南京大学软件所.ppt

死锁 死锁的定义 为避免与硬件故障以及其他程序性错误混淆,在定义死锁前给定六个假设: 任意一个进程要求资源的最大数量不超过系统能提供的最大量 如果一个进程要求的资源均得到满足,那么,它一定能够在有限时间内结束 一个资源在任何时间最多只被一个进程所占有 一个进程一次申请一个资源,且只有在申请资源得不到满足时才处于等待状态 一个进程结束时释放它占有的全部资源 系统具有有限个进程和有限个资源 一组进程处于死锁状态是指:如果在一个进程集合中得每个进程都在等待只能由该集合中其他一个进程才能引发的事件,则称一组进程或系统此时发生了死锁。 死锁 由于死锁会造成很大的损失,因此必须花费额外的代价解决死锁问题,常见的解决死锁问题的方法: 死锁的防止 死锁的避免 死锁的检测和恢复(解除) 死锁 死锁的防止 死锁产生的四个条件,1971年Coffman 互斥条件 占有和等待条件 不剥夺条件 循环等待条件 破坏死锁的任一条件,可以防止死锁 常见的死锁防止方法 静态分配策略,破坏第二个条件,资源利用率低 层次分配策略,破坏第四个条件 死锁存在的必要条件 死锁 死锁的避免 破坏死锁条件能够防止死锁,但将导致低效的进程运行和资源使用率 死锁的避免不是通过对进程随意强加一些规则,而是通过对每一次资源申请进行认真的分析来判断它是否能够完全的分配,从而避免死锁的发生 常见的方法: 资源轨迹图 银行家算法 死锁 死锁

文档评论(0)

1亿VIP精品文档

相关文档