- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CH 处理机调度与死锁
第三章 处理机调度与死锁 3.1 处理机调度的层次 3.2 调度队列模型和调度准则 3.3 调度算法 3.4 实时调度 3.5 产生死锁的原因和必要条件 3.6 预防死锁的方法 3.7 死锁的检测与解除 3.1 处理机调度的层次 3.1.1 高级调度 3.1.2 低级调度 3.1.3 中级调度 3.1.1 高级调度 1.作业和作业步 2.作业控制块 3.作业调度 1.作业和作业步 (1) 作业(Job)。作业是一个比程序更为广泛的概念,它不仅包含了通常的程序和数据,而且还应配有一份作业说明书,系统根据该说明书来对程序的运行进行控制。在批处理系统中,是以作业为基本单位从外存调入内存的。 (2) 作业步(Job Step)。通常,在作业运行期间,每个作业都必须经过若干个相对独立,又相互关联的顺序加工步骤才能得到结果,我们把其中的每一个加工步骤称为一个作业步,各作业步之间存在着相互联系,往往是把上一个作业步的输出作为下一个作业步的输入。例如,一个典型的作业可分成三个作业步: ① “编译”作业步,通过执行编译程序对源程序进行编译,产生若干个目标程序段; ② “连结装配”作业步,将“编译”作业步所产生的若干个目标程序段装配成可执行的目标程序; ③ “运行”作业步,将可执行的目标程序读入内存并控制其运行。 (3) 作业流。若干个作业进入系统后,被依次存放在外存上,这便形成了输入的作业流;在操作系统的控制下,逐个作业进行处理,于是便形成了处理作业流。 2.作业控制块JCB(Job Control Block) 为了管理和调度作业,在多道批处理系统中为每个作业设置了一个作业控制块,如同进程控制块是进程在系统中存在的标志一样,它是作业在系统中存在的标志,其中保存了系统对作业进行管理和调度所需的全部信息。 在JCB中所包含的内容因系统而异,通常应包含的内容有: 作业标识、用户名称、用户帐户、 作业类型(CPU 繁忙型、I/O 繁忙型、批量型、终端型)、 作业状态、调度信息(优先级、作业已运行时间)、 资源需求(预计运行时间、要求内存大小、要求I/O设备的类型和数量等)、 进入系统时间、开始处理时间、作业完成时间、作业退出时间、资源使用情况等。 后备队列 每当作业进入系统时,系统便为每个作业建立一个JCB,根据作业类型将它插入相应的后备队列中。 作业调度程序依据一定的调度算法来调度它们,被调度到的作业将会装入内存。 在作业运行期间,系统就按照JCB中的信息对作业进行控制。当一个作业执行结束进入完成状态时,系统负责回收分配给它的资源,撤消它的作业控制块。 3.作业调度 作业调度的主要功能是根据作业控制块中的信息,审查系统能否满足用户作业的资源需求,以及按照一定的算法,从外存的后备队列中选取某些作业调入内存,并为它们创建进程、分配必要的资源。然后再将新创建的进程插入就绪队列,准备执行。 因此,有时也把作业调度称为接纳调度(Admission Scheduling)。 对用户而言,总希望自己作业的周转时间尽可能的少,最好周转时间就等于作业的执行时间。 然而对系统来说,则希望作业的平均周转时间尽可能少,有利于提高CPU 的利用率和系统的吞吐量。为此,每个系统在选择作业调度算法时,既应考虑用户的要求,又能确保系统具有较高的效率。在每次执行作业调度时,都须做出以下两个决定: 1) 决定接纳多少个作业 2) 决定接纳哪些作业 1) 决定接纳多少个作业 作业调度每次要接纳多少个作业进入内存,取决于多道程序度(Degree of Multiprogramming),即允许多少个作业同时在内存中运行。 多道程序度的确定应根据系统的规模和运行速度等情况做适当的折衷 当内存中同时运行的作业数目太多时,可能会影响到系统的服务质量,比如,使周转时间太长。但如果在内存中同时运行作业的数量太少时,又会导致系统的资源利用率和系统吞吐量太低。 2) 决定接纳哪些作业 应将哪些作业从外存调入内存,这将取决于所采用的调度算法。 最简单的是先来先服务调度算法,这是指将最早进入外存的作业最先调入内存; 较常用的一种算法是短作业优先调度算法,是将外存上最短的作业最先调入内存; 另一种较常用的是基于作业优先级的调度算法,该算法是将外存上优先级最高的作业优先调入内存; 比较好的一种算法是“响应比高者优先”的调度算法。 分时系统和实时系统的作业调度问题 在批处理系统中,作业进入系统后,总是先驻留在外存的后备队列上,因此需要有作业调度的过程,以便将它们分批地装入内存。 然而在分时系统中,为了做到及时响应,用户通过键盘输入的命令或数据等都是被直接送入内存的,因而无需再配置上述的作业调度机制,但也需要有某些限制性措施来限制进入系统的用户数。即,如果系统尚未饱和,将接纳
您可能关注的文档
最近下载
- 《篮球训练》教学大纲.pdf VIP
- 广西桂林理工大学南宁分校招聘笔试真题2024.docx VIP
- 新大陆物联网平台操作流程.docx VIP
- Fronius伏能士 TPS 270i C Pulse MIG.MAG电源操作手册.pdf VIP
- 电焊安全技术交底.doc VIP
- 城市轨道交通运营管理毕业论文-关于铁路客运服务质量的调查与探讨.docx VIP
- 2025福建莆田市城市建设投资开发集团有限公司招聘30人考试备考题库及答案解析.docx VIP
- 物联网全栈智能应用实训系统设备接线图V2.0.pdf VIP
- 柔性触摸屏及全贴合生产项目投资计划书.pptx VIP
- 《食品安全与营养健康》课件.ppt VIP
文档评论(0)