调度和死锁OS04-C.ppt

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

(Scheduling and Deadlock ) 教学目的 在多道程序系统中,一个作业从提交到执行完成,要经历多级调度,调度的好坏要影响系统的运行性能,因此调度是多道系统的关键。为了改善系统资源的利用率和提高系统处理能力,多道程序系统中采用多个进程的并发执行,但它也可能发生死锁的危险,研究死锁的原因和产生条件,采用预防死锁、避免死锁、检测死锁和解除死锁等多种方法防止死锁是多道程序系统重要的研究课题。 教学要求: 熟悉处理机三级调度概念和处理机调度模型,掌握作业的状态和作业调度的功能。 掌握进程调度的方式和功能,熟悉调度方式和算法的选择准则,掌握七种调度算法及适合范围。 掌握死锁的定义和产生死锁的原因,掌握死锁的四个必要条件;熟悉预防死锁的方法,熟练掌握银行家算法及其在死锁避免中的应用;掌握资源分配图的简化及其死锁定理,熟悉解除死锁的方法。 (一)调度(Scheduling) (1)处理机三级调度 1。高级(Long-term)调度——作业调度 作业调度用于决定把外存输入井上处于作业后备队列上的哪些作业调入内存,并为它们创建进程、分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。在批处理系统中,作业是先驻留在外存的输入井上的,因此需要有作业调度。然而在分时系统中,通过键盘输入的命令和数据直接进入内存,无需作业调度。 2。低级(Short-term)调度——进程调度 进程调度决定就绪队列中哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。进程调度是最基本的调度,任何操作系统都有进程调度。 处理机三级调度-1 3。中级(Medium-term)调度——对换 引入中级调度的目的是为了提高主存利用率和系统吞吐量。由于在进程并发执行过程中,为了充分发挥内存的效能,需将那些暂时不能运行的进程从内存调到外存盘交换区去等待,而将那些在盘交换区的等待事件已经发生急需调度运行的进程从盘交换区调入内存。在UNIX系统中中级调度就是存储管理中的对换,采用虚拟存储技术的分时系统往往设立中级调度。 处理机三级调度图: 作业调度 作业运行状态 (2)作业调度 1。作业的状态 作业从进入到运行结束,一般需要经历“提交”、“后备”、“运行”和“完成”四个阶段。 提交状态 一个作业被提交给机房后正在通过SPOOLing系统进行输入或用户通过终端向计算机中键入其作业时所处于的状态为提交状态。 后备状态 作业已经过SPOOLing系统输入到磁盘输入井,等待调入内存运行,此时作业处于后备状态。为了管理和调度作业,为每个作业设置一个作业控制块(JCB)。作业控制块记录了作业类型和资源要求等有关信息。作业控制块按作业类型组成一个或多个后备作业队列。 作业调度-1 运行状态 一个在后备作业队列的作业被作业调度程序选中后,分配必要的资源,建立一组相应的进程后,调入内存,该作业就进入运行状态。进程各状态(进程运行态、内存进程就绪态、内存阻塞态、外存进程就绪态、外存进程阻塞态等)都对应作业运行状态。 完成状态 当进程正常运行结束或因发生错误而终止时,作业进入完成状态。终止作业程序将负责善后处理。 作业调度-2 2。作业状态的转换 作业调度 作业调度程序按一定算法从后备作业队列中选一个满足资源要求的作业,分配它所要求的资源,建立一组相应的进程,设置该进程状态为就绪态,并将该进程插入内存就绪队列,参加CPU争夺。 终止作业 当进程正常运行结束或因发生错误终止时,调用终止作业程序,它负责将输出文件缓冲输出到输出井,并调用SPOOLing系统输出进程将作业输出文件在打印机输出。同时回收作业所使用内、外存、I/O设备等各种资源,最后调用记帐程序结清作业费用。 (3)处理机调度模型 1。仅有进程调度的调度队列模型 在分时系统中通常仅设置了进程调度。此时系统有一个就绪队列,每个进程运行一个时间片,进程运行一个时间片后如未完成,则被放在就绪队列末尾。如进程运行中因等待某事件(例如申请I/O而等待I/O完成),则需排入阻塞队列,系统因阻塞的原因不同可设几个阻塞队列。 2。具有进程调度和中级调度队列模型 在具有虚拟存储器技术的分时系统中(例如UNIX系统等),一般采用具有进程调度和中级调度的调度模型。在该模型中比第一种模型增加了中级调度,则相对于上模型也增加了外存进程就绪队列和外存进程阻塞队列。中级调度时或从内存就绪队列调到外存的就绪队列,或从内存阻塞队列调到外存阻塞队列,或从外存进程就绪队列调到内存就绪队列。 处理机调度模型-1 3。具有高级调度和低级调度的调度队列模型 在多道批处理系统中,一般处理机

文档评论(0)

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

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

1亿VIP精品文档

相关文档