- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 死锁;5.1 概 述 ;A:申请读卡机 B:申请打印机
申请打印机 申请读卡机
使用读卡机 使用打印机
使用打印机 使用读卡机
释放读卡机 释放打印机
释放打印机 释放读卡机
;由于进程并行工作, 就可能出现这样的执行序列:
A: 申请读卡机
B: 申请打印机
A: 申请打印机
B: 申请读卡机
; 所谓死锁就是指在一个进程集合中的每个进程, 都在等待仅由该集合中的另一进程才能引发的事件, 而无限期地僵持下去的局面。
; 5.1.2 资源概念
当若干进程取得对设备、 文件等资源的独占性访问权时, 就可能出现死锁。 资源可以是硬件设备(如打印机、 磁带驱动器、 扫描仪等), 也可以是一组信息(如数据库中一个加锁的记录、 一个信号量、 系统表格中的一个表项等)。 ; 1. 进程对资源的操作
系统中包括有限的资源, 要分给大量的计算进程。 资源可分为若干类型, 每类都有若干个实体。 CPU周期、 内存空间、 文件和I/O设备(如打印机、 磁带驱动器、 读卡机等)都是资源类型的例子。
一个进程在使用资源之前要申请资源, 在用完之后必须释放该资源。 ; 在通常的操作方式下, 进程只能按下述序列使用资源:
1) 申请
如果所申请的资源因被其他进程占用而不能立即得到, 那么申请资源的进程必须等待, 直至其他进程释放资源为止。
2) 使用
进程对该资源进行操作(如在行式打印机上打印结果)。
3) 释放
进程释放它以前申请并分配到的资源。
; 2. 可剥夺资源与不可剥夺资源
系统中一般都有多种资源。 按照占用方式来分, 可以分为两类: 可剥夺资源与不可剥夺资源。 可剥夺资源是另外进程可以从拥有它的进程那里把它剥夺过去为己所用, 并且不会产生任何不良影响。 ; 5.1.3 进程推进顺序与死锁
图5-1示出了进程推进顺序对引发死锁的影响。 设有两个进程A和B, 竞争两个资源R和S, 这两个资源都是不可剥夺资源, 因此必须在一段时间内独占使用。 进程A和B的一般形式是:
;进程A 进程B
申请R 申请S
申请S 申请R
释放R 释放S
释放S 释放R
; (1) 进程B获得资源S, 然后又获得R, 后来释放S和R。 当进程A恢复执行时, 它能够获得这两个资源。 A和B都可进行下去。
(2) 进程B获得资源S, 然后又获得R; 接着进程A执行, 因未申请到资源R而阻塞, B释放S和R。 当A恢复执行时, 能够获得这两个资源。
(3) 进程B获得资源S, 而进程A申请到R。 此时, 死锁不可避免, 因为B向下执行会阻塞在R上, 而A会阻塞在S上。
; (4) 进程A获得资源R, 接着进程B获得资源S。 此时, 死锁不可避免。 因为向下执行, B将在R上阻塞, A将在S上阻塞。
(5) 进程A获得资源R, 接着获得S。 进程B执行, 由于未申请到S而阻塞。 之后, A释放资源R和S, 当B恢复执行时, 它能获得这两个资源。
(6) 进程A获得资源R和S, 然后释放R和S。 当进程B恢复执行时, 它能获得这两个资源。
; 可见, 是否产生死锁既取决于动态执行过程, 也取决于应用程序的设计。 例如, 若进程A不必同时申请两个资源, 代码改为:
进程A
申请R
释放R
申请S
释放S;5.2 产生死锁的条件 ; 2. 占有且等待条件
进程至少已经占有一个资源, 但又申请新的资源; 由于该资源已被另外进程占有, 此时该进程阻塞; 但是, 它在等待新资源之时, 仍继续占有已分到的资源。
3. 不可抢占条件
一个进程所占有的资源在未使用完毕之前, 其他进程不能强行地从资源占有者手中夺取该资源, 而只能由该
您可能关注的文档
- 赖丽娟《模拟电子技术实验》实验一常用仪器的使用-赖丽娟2015.ppt
- 赖丽娟《模拟电子技术实验》修改 20090706模电试题-最终B.doc
- 面向对象程序设计-第16次课.ppt
- 倪坤仪-分析化学(二)9电位法及永停滴定法.pdf
- 倪坤仪-分析化学(二)11荧光法.pdf
- 倪坤仪-分析化学(二)10可见紫外分光度法.pdf
- 倪坤仪-分析化学(二)12试验统计数据的处理.pdf
- 倪坤仪-分析化学(二)hwfgA--红外.ppt
- 倪坤仪-分析化学(二)hwfgB--红外.ppt
- 倪坤仪-分析化学(二)hwfgC--红外.ppt
- 西安理工大学《嵌入式系统实验》Beginners'_Guide_to_Archlinux_Installation.pdf
- 西安理工大学《嵌入式系统实验》zx01-ArchLinux2013版安装过程.pdf
- 西安理工大学《嵌入式系统实验》zx02-ArchLinux2013版安装Xorg图形系统.pdf
- 西安理工大学《嵌入式系统实验》ScratchGettingStartedv14.pdf
- 西安理工大学《嵌入式系统实验》zx03-ArchLinux2013版安装桌面应用程序.pdf
- 西安理工大学《嵌入式系统实验》zx04-ArchLinux2013版编译Kernel.pdf
- 西安理工大学《嵌入式系统实验》zx嵌入式系统结构-01-绪论.pdf
- 西安理工大学《嵌入式系统实验》zx嵌入式系统结构-02.pdf
- 西安理工大学《嵌入式系统实验》zx嵌入式系统结构实验指导书-01实验一.pdf
- 西安理工大学《嵌入式系统实验》zx嵌入式系统结构实验指导书-02实验二.pdf
文档评论(0)