操作系统--第三章调度与死锁2016-10分析.ppt

操作系统--第三章调度与死锁2016-10分析

§3.7 死锁的基本概念(一) 死锁(deadlock)— 是OS的一种随机故障,是指两个或 两个以上的进程都无限制的地等待永远不会出现的 事件而发生的状态。 1、争夺资源引起死锁 例1:P1,P2两个进程争夺打印机和读卡机。 一、死锁的原因 P1 P2 打印机 读卡机 ? P1已经申请到打印机, 又申请读卡机。 ? P2已经申请到读卡机, 又申请打印机。 打印机和读卡机为 非剥夺性资源。 例3、 P1,P2,P3 三个进程之间通信: P1产生消息S1,接收P3产生的消息S3; P2产生消息S2,接收P1产生的消息S1; P3产生消息S3,接收P2产生的消息S2; 按以下次序运行: P1:Request(S3);Release(S1) P2:Request(S1);Release(S2) P3:Request(S2);Release(S3) §3.7 死锁的基本概念(二) 2、进程推动顺序不当引起的死锁 P1 P3 P2 S2 S3 S1 P1 P2 P3 按照以上的顺序执行会产生死锁吗? ?问题? 例2、 在生产者—消费者问题中如果交换两个P操作 的次序,可能引起死锁。 Si临时性资源 §3.7 死锁的基本概念(三) 生产者进程: 生产一个产品 m

文档评论(0)

1亿VIP精品文档

相关文档