- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章 调度与死锁 第三章 处理机调度与死锁 3.1 处理机调度的层次 3.2 调度算法 3.3 实时调度 3.4 多处理机系统中的调度 3.5 产生死锁的原因和必要条件 3.6 预防死锁的方法 3.7 死锁的检测和解除 3.1处理机调度的层次 处理机是计算机系统中的重要资源 处理机调度算法对整个计算机系统的综合性能指标有重要影响 可把处理机调度分成三个层次: 高级调度 中级调度 低级调度 高级调度 也称为作业调度,长程调度,接纳调度或宏观调度,用于决定把外存上处于后备队列中的哪些作业调入主存,并为它们创建进程、分配必要的资源,然后将新创建的进程排入就绪队列,准备执行。 一般在批处理系统中有作业调度。在分时和实时系统中无作业调度。 高级调度 作业和作业步 作业 不仅包含了通常的程序和数据,还配有一份作业说明书,系统根据该说明书来对程序的运行进行控制。 批处理系统中以作业为基本单位从外存调入内存 作业步 在作业运行期间,每个作业都必须经过若干个相对独立又相互关联的顺序加工步骤才能得到结果,每一个加工步骤作业一个作业步。 上一个作业步的输出作业下一个作业步的输入 “编译”作业步,“连结装配”作业步 ,“运行”作业步 作业流 若干个作业进入系统后,被依次放在外存上,形成输入作业流 高级调度 作业控制块 为了管理理和调度作业,在多道批处理系统中为每个作业设置了一个作业控制块(JCB)。 它是作业在系统中存在的标志 保存了系统对作业进行管理和调度所需的全部信息 高级调度 作业调度 作业调度的主要功能是根据作业控制块中的信息,审查系统能否满足用户作业的资源需求,以及按照一定的算法,从外存的后备队列中选取某些作业调入内存并为它们创建进程、分配必要的资源,将新建进程插入就绪队列,准备执行。 需要解决的问题 一是每次接纳多少个作业:取决于多道程序的度。(允许多少个作业同时在内存中运行) 二是接纳哪些作业:取决于调度算法。 低级调度 也称微观调度、进程调度或短程调度,它决定主存中的就绪队列上的哪个进程(单处理器系统)将获得处理器,然后把处理器分配给该进程,使其执行。 从处理机资源分配的角度来看,处理机需要经常选择就绪进程或线程进入运行状态。由于低级调度算法的频繁使用,要求在实现时做到高效。 低级调度 功能 保存处理机的现场信息 按某种算法选取进程 把处理器分配给进程 低级调度 基本机制 排队器 将系统中所有的就绪进程按照一定的方式排成一个或多个队列。 分派器 由进程调度程序所选定的进程,从就绪队列中取出进程然后进行上下文切换,将处理机分配给它。 上下文切换机制 保存当前进程的上下文,装入分派进程的上下文 低级调度 方式 非抢占方式 在某个进程正在占用处理器执行时,不允许其它任何进程抢占处理器,直到它主动放弃。 优点:简单,开销小,可用于批处理系统 缺点:没考虑紧急程度,不适于实时系统 抢占方式 把处理器分配给某个进程后,在该进程尚未终止或阻塞时,允许系统调度程序根据某种原则,暂停正在执行的进程,回收已经分配的处理器,并将处理器重新分配给其它更为紧急的进程。 抢占原则:优先权,短作业优先,时间片等 低级调度 进程调度的时机(因素) 当一个进程运行完毕,或由于某种错误而终止运行 当一个进程在运行时变为等待状态(等待I/O) 分时系统中时间片到 在进程通信中,执行中的进程执行了某种原语操作(P操作,阻塞原语) 当有一个优先级更高的进程就绪(可抢占式) 例如:新创建一个进程;一个等待进程变成就绪 中级调度 系统将那些暂时不能运行的进程从主存调到外存(仍然保持进程状态)上的特定区域,这些在外存存放的进程所处的状态称为就绪驻外状态或挂起状态。当这些进程的运行条件具备,且主存又有空闲时,在中级调度的控制下,再将处于外存上的那些重新具备运行条件的就绪驻外进程调入主存,并将其状态修改为就绪状态,放入就绪队列,等待进程调度。 目的 是为了进一步提高主存的利用率和系统的吞吐量。管理进程在内外存间的交换,从存储器资源管理的角度来看,把进程的部分或全部换出到外存上,可为当前运行进程的执行提供所需内存空间。 三种调度中,进程调度运行频率最高,在分时系统中通常是10~100ms便进行一次进程调度,因而进程调度算法不能太复杂。 作业调度往往是发生在一个(批)作业运行完毕,退出系统,而需要重新调入一个(批)作业进入时,帮作业调度的周期较长,大约几分钟一次。 中级调度的运行频率,介于上述两种调度之间 调度队列模型 1. 仅有进程调度的调度队列模型 在分时系统中,通常仅设置了进程调度,用户键入的命令和数据,都直接送入内存,对于命令,是由OS为之建立一个进程。常把就绪进程组织成FIFO队列形式。 每个进程在
文档评论(0)