[计算机硬件及网络]操作系统.ppt

  1. 1、本文档共145页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[计算机硬件及网络]操作系统

 并不可能发生死锁,但若改成下述的运行顺序: P1: …Request(S3); Release(S1); … P2: …Request(S1); Release(S2); … P3: …Request(S2); Release(S3); … 则可能发生死锁。 图3-14 进程之间通信时的死锁  2.进程推进顺序不当引起死锁   由于进程在运行中具有异步性特征,这就可能使上述P1和P2两个进程按下述两种顺序向前推进。  1) 进程推进顺序合法   在进程P1和P2并发执行时,如果按下述顺序推进: P1:Request(R1);Request(R2); P1:Releast(R1);Release(R2); P2:Request(R2);Request(R1); P2:Release(R2);Release(R1); 图3-15 进程推进顺序对死锁的影响  2) 进程推进顺序非法   若并发进程P1和P2按曲线④所示的顺序推进,它们将进入不安全区D内。此时P1保持了资源R1,P2保持了资源R2,系统处于不安全状态。因为这时两进程再向前推进,便可能发生死锁。例如,当P1运行到P1:Request(R2)时,将因R2已被P2占用而阻塞;当P2运行到P2:Request(R1)时,也将因R1已被P1占用而阻塞,于是发生了进程死锁。 3.5.2 产生死锁的必要条件   虽然进程在运行过程中可能发生死锁,但死锁的发生也必须具备一定的条件。综上所述不难看出,死锁的发生必须具备下列四个必要条件。   (1) 互斥条件:指进程对所分配到的资源进行排它性使用,即在一段时间内某资源只由一个进程占用。如果此时还有其它进程请求该资源,则请求者只能等待,直至占有该资源的进程用毕释放。   (2) 请求和保持条件:指进程已经保持了至少一个资源,但又提出了新的资源请求,而该资源又已被其它进程占有,此时请求进程阻塞,但又对自己已获得的其它资源保持不放。   (3) 不剥夺条件:指进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完时由自己释放。   (4) 环路等待条件:指在发生死锁时,必然存在一个进程——资源的环形链,即进程集合{P0,P1,P2,…,Pn}中的P0正在等待一个P1占用的资源; P1正在等待P2占用的资源,……,Pn正在等待已被P0占用的资源。   (3) 仅当第一队列空闲时,调度程序才调度第二队列中的进程运行;仅当第1~(i-1)队列均空时,才会调度第i队列中的进程运行。如果处理机正在第i队列中为某进程服务时,又有新进程进入优先权较高的队列(第1~(i-1)中的任何一个队列),则此时新进程将抢占正在运行进程的处理机,即由调度程序把正在运行的进程放回到第i队列的末尾,把处理机分配给新到的高优先权进程。   3.多级反馈队列调度算法的性能   多级反馈队列调度算法具有较好的性能,能很好地满足各种类型用户的需要。   (1) 终端型作业用户。由于终端型作业用户所提交的作业大多属于交互型作业,作业通常较小,系统只要能使这些作业(进程)在第一队列所规定的时间片内完成,便可使终端型作业用户都感到满意。   (2) 短批处理作业用户。对于很短的批处理型作业,开始时像终端型作业一样,如果仅在第一队列中执行一个时间片即可完成,便可获得与终端型作业一样的响应时间。对于稍长的作业,通常也只需在第二队列和第三队列各执行一个时间片即可完成,其周转时间仍然较短。   (3) 长批处理作业用户。对于长作业,它将依次在第1,2,…,n个队列中运行,然后再按轮转方式运行,用户不必担心其作业长期得不到处理。 3.4 实 时 调 度 3.4.1 实现实时调度的基本条件   1.提供必要的信息   为了实现实时调度,系统应向调度程序提供有关任务的下述一些信息:   (1) 就绪时间。这是该任务成为就绪状态的起始时间,在周期任务的情况下,它就是事先预知的一串时间序列;而在非周期任务的情况下,它也可能是预知的。   (2) 开始截止时间和完成截止时间。对于典型的实时应用,只须知道开始截止时间,或者知道完成截止时间。   (3) 处理时间。这是指一个任务从开始执行直至完成所需的时间。在某些情况下,该时间也是系统提供的。   (4) 资源要求。这是指任务执行时所需的一组资源。   (5) 优先级。如果某任务的开始截止时间已经错过,就会引起故障,则应为该任务赋予“绝对”优先级;如果开始截止时间的推迟对任务的继续运行无重大影响,则可为该任务赋予“相对”优先级,供调度程序参考。   2.系统处理能力强   在实时系统中,通常都有着多个实时任务。若处理机的处理能力不够强,则有可能因处理机忙不过来而使某些实时任务不能得到及时处理,从而导致发生难以预料的后果。假

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档