第九章 死锁
1、什么叫死锁?什么原因会引起死锁?
答:若系统中存在一组进程(两个或多个进程),它们中的每一个进程都占用了某种资源而又都在等待其中另一个进程所占用的资源,这种等待永远不能结束,则说系统出现了“死锁”。
死锁产生的原因有现除了与资源的分配策略有关,当系统中若干进程需求资源的总数大于系统能提供的资源数时,进程间会出现竞争资源,如果对进程竞争的资源分配不当就会引起死锁。
死锁的出现也与并发进程的执行速度有关,并发进程的执行速度是不可预知的。因此可能形成死锁。
2、若系统只有一个进程,它会被卷入死锁吗?请解释你的回答。
答:当系统只有一个进程时,不会产生死锁现象,因为死锁现象必须要存在一组进程,在这组进程竞争资源的情况下才有可能产生。
3、某系统有同类资源m个供n个进程共享,如果每个进程最多申请x个资源(1≤x≤m)且各进程的最大需求量之和小于(m+n),证明该系统不会发生死锁。
证明:因为每个进程最多申请x个资源,最坏情况下n个进程各已申请了x-1 个资源。所以现在还剩下的资源是m-n(x-1),又因为各进程的最大需求量之和小于(m+n),因此有n(x-1)<m (即每个进程至少还差一个资源才能得到满足)。所以剩余资源m-n(x-1)≥1,这样,系统至少还有一个资源可使其中一个进程得到所需的全部资源,在它执行结束后,归还的资源可供其他进程使用,因而不可能发生死锁。
(温馨提示:如果关于"江苏省自学考试报名及考试"问题不是很了解,还有什么疑问,请及时联系咨询老师:15755063059或者咨询在线老师
。)