处理机管理演示课件.ppt

但是,在实际应用中,一个进程常常需要独占地访问不止一种资源。例如,两个进程各占有一个I/O设备,又申请对方所占的I/O设备,则两个进程都将被阻塞,而且不能解除;又如,两个进程分别对一个数据库中的两个记录加锁以备使用,又试图对对方锁定的记录加锁,也将使得两个进程都被阻塞且不能解除;另外,进程在通信时,互相申请对方尚未产生的消息也会使得两个进程都被阻塞且不能解除。系统中存在各种进程被阻塞而且不能解除的情况,通称为死锁,软、硬件资源的申请都可能导致死锁。 精品 因此,所谓死锁是指一种僵局:在系统运行的某一时刻,当一组进程中的某个进程提出资源请求或者彼此通信时,使得此组进程在无外力作用下永远不能再向前推进,此时称这组进程处于死锁状态。 多数情况下,进程是在等待本集合中另一个进程释放资源,但是因为该集合中所有进程都无法运行,因而无法释放资源,于是该集合中所有进程都不能被唤醒而向前推进。若这种情况只存在于部分进程中,称系统发生了局部死锁;若系统中所有进程都出现了这种情况,则称系统发生了全局死锁。 精品 (2) 请求I/O服务时,进程需要暂时放弃CPU,以免出现CPU的“忙等待”; (3) 某些原语操作,如P操作等; (4) 进程完成; (5) 在可剥夺(抢占)调度中,新建进程较执行进程优先级高。 进程调度原因如图2-45所示。 精

文档评论(0)

1亿VIP精品文档

相关文档