- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章:处理机调度与死锁3.1:高级调度对象是作业,作用是将作业从外存调入内存;低级调度的对象是进程,作用是决定哪个进程将获得处理机而运行。常见的低级调度有非抢占方式和抢占方式两种抢占式调度主要有以下原则①优先权原则:重要作业赋予高优先权,优先占用处理机②短作业(进程)优先原则:执行时间短的进程优先执行③时间片原则:时间片用完后停止执行,适用于分时系统中级调度;运行频率:低级调度中级调度高级调度3.2调度队列模型与调度准则1.调度队列模型(最基本的一种):每个进程在执行时,可能有以下三种情况进程在给定时间片内已完成,释放处理机后为完成状态进程在时间片内未完成,进入就绪队列末尾进程在执行期间因某事件而阻塞,进入阻塞队列2.选择调度方式和调度算法的若干准则:面向用户的准则:(1) 周转时间短;(2)响应时间快;(3)截止时间保证;(4)优先权准则面向系统的准则:(1)系统吞吐量高;(2)处理机利用率高;(3)各类资源的平衡利用★3.3调度算法周转时间=结束执行时间-进入磁盘时间带权周转时间=周转时间/服务时间高响应比=(等待时间+服务时间)/服务时间或=等待时间/服务时间先来先服务和短作业优先算法先来先服务调度算法(FCFS)有利于长作业(CPU繁忙型),而不利于短作业(IO繁忙型)短作业优先算法(JFS)不利于长作业*特别注意这两种算法在内存总量有限情况下的应用,且在不移动的可变分区方式下的内存具体实例见ppt高优先权优先调度算法(1)如果作业的等待时间相同,则要求服务的时间愈短,其优先权愈高,因而该算法有利于短作业。(2)当要求服务的时间相同时,作业的优先权决定于其等待时间,等待时间愈长,其优先权愈高,因而它实现的是先来先服务。所以说该算法是FCFS与JFS的结合3.基于时间片的轮转调度算法(按照老师方法做题)书本P96图3-63.4实时调度实现实时调度的基本条件:1.提供必要的信息就绪时间(开始截止时间和完成截止时间;处理时间;资源要求;优先级)2.系统处理能力强假定系统中有m个周期性的硬实时任务,它们的处理时间可表示为Ci,周期时间表示为Pi,则在单处理机情况下,必须满足下面的限制条件,系统才是可调度的。。若采用多处理机(N个),则满足即可。采用抢占式调度机制4.具有快速切换机制实时调度算法分类:(1)按实时任务性质分:硬实时调度算法,软实时调度算法。(2)按调度方式分:非抢占式调度算法,抢占式调度算法。(3)按调度时间分:静态调度算法,动态调度算法。(4)在多处理机下,还分为集中式调度和分布式调度。常用的几种实时调度算法:1.最早截止时间优先EDF算法2.最低松弛度优先即LLF算法3.5产生死锁的原因和必要条件产生死锁的原因:(1)竞争资源(可剥夺性资源,如内存处理机;非可剥夺性资源,如打印机,磁带机;临时性资源:由一个进程产生,被另一进程使用后就再也无用的资源)(2)进程推进顺序不当引起死锁产生死锁的必要条件:1.互斥条件(对资源的排他性使用)2.请求和保持条件(在已经拥有了至少一个资源后又申请其他被占用的资源)3.不剥夺条件(进程已获得的资源在未使用完之前不能被剥夺。)4.环路等待条件(发生死锁时,必然存在一个进程--资源的环形链)只要一个不满足,则就能破坏死锁。处理死锁的基本方法:(1)预防死锁(2)避免死锁(3)检测死锁(4)解除死锁3.6预防死锁的方法因为产生死锁的四个条件中的1.互斥条件无法被改变,所以就只能从其他四个入手。分为:1.摒弃请求和保持条件;2.摒弃不剥夺条件;3.摒弃环路等待条件★利用银行家算法避免死锁(例题见ppt后题)3.7 死锁的检测与解除死锁的检测可以在资源分配图中采用死锁定理,详见书本P112-113死锁的解除有两种方法:(1)剥夺资源(从其他进程剥夺资源给死锁进程)(2)撤销进程第四章.存储器管理4.1程序的装入与链接源程序要运行通常经过编译,链接,装入等几个步骤程序的装入可分为:1.绝对装入方式2.可重定位装入方式3.动态运行时装入方式程序的链接分为:1.静态链接方式2.装入时动态链接(边装入边链接)3.运行时动态链接(对某些模块的链接推迟到执行时才去做)4.2连续分配方式连续分配方式为一个用户程序分配一个连续的内存空间单一连续分配:只能用于单用户、单任务的操作。这种方式把系统中的内存分为系统区和用户区两部分,系统区仅提供给OS使用。固定分区分配:最简单的可运行多道程序的存储管理方式。将内存用户空间划分为若干个固定大小的区域,每个分区中只装入一道作业。动态分区分配:根据进程的实际需要,动态地为之分配内存空间。分区分配算法:(1)首次适应算法FF(要求空闲分区链以地址递增的次序链接。在分配内存时,从链首开始顺序查找,知道找到一个大小符合的空闲分区)(2)循环首次适应算法(从上次找到的
文档评论(0)