操作系统C 第章 处理机调度与死锁.ppt

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

作业中的问题 第一题: 将S,F作为信号量 将p1,p2,p3看作信号量 第二题: 多设置互斥信号量mutex 有抄袭现象 【思考题1】 综合实例 设某计算机有两个I/O通道:分别挂一台输入机和一台打印机。输入机上有一叠数据卡片,现在要把这些数据逐一输入到缓冲区B1,然后再复制到缓冲区B2,并在打印机上打印出来。 问:系统可设哪些进程来完成这个任务?用P-V原语写这些进程的同步算法。 作 业 三个进程p1,p2,p3互斥的使用一个包含n(n0)个单元的缓冲区。p1每次用produce()生成一个正正整数,并用put()送入缓冲区某一空单元中;p2每次用getodd()从该缓冲区中取走一个奇数,并用countodd()统计奇数个数;p3每次用geteven()从缓冲区中取走一个偶数,并用counteven()统计偶数的个数。请用信号量机制实现这三个进程的同步与互斥活动,并说明所定义信号量的含义,要求用伪代码描述。 3.1 处理机调度的层次 根据作业控制块中的信息,审查系统能否满足用户作业的需要,按照某种算法,把外存上处于后备队列中的那些作业调入内存,并为他们创建进程、分配资源,然后将新创建的进程插入就绪队列,准备执行。 高级调度的对象是作业。 作业控制块(JCB) 为了管理和调度作业,在多道批处理系统中为每一个作业设置了作业控制块 低级调度的功能 保存处理机现场 按照某种算法选取进程 把处理机分配给进程 进程调度中的三个基本机制 进程调度机制由几个不同的部分组成:排队器、分派器、上下文切换器。 排队器:当进程变为就绪状态时, 它的PCB会被更新,排队器将PCB指针放入就绪队列中。 分派器:把由进程调度程序选定的进程从就绪队列中取出,然后进行上下文切换,将处理机分配给该进程。 上下文切换器:保存CPU现场和恢复现场。 进程调度方式 1) 非抢占方式(Non-preemptive Mode) 在采用非抢占调度方式时,可能引起进程调度的因素可归结为这样几个: ① 正在执行的进程执行完毕, 或因发生某事件而不能再继续执行; ② 执行中的进程因提出I/O请求而暂停执行; ③ 在进程通信或同步过程中执行了某种原语操作,如P操作(wait操作)、Block原语、Wakeup原语等。 这种调度方式的优点是实现简单、系统开销小, 适用于大多数的批处理系统环境。 但它难以满足紧急任务的要求——立即执行 在要求比较严格的实时系统中,不宜采用这种调度方式。 周转时间:外存等待时间、内存等待时间、CPU处理时间、等待I/O操作时间。 平均周转时间 带权周转时间 平均带权周转时间 练习题 假设系统中有5个进程,它们的到达时间和服务时间见下表1,忽略I/O以及其他开销时间,若按先来先服务(FCFS)调度算法进行CPU调度,请给出各个进程的完成时间、周转时间、带权周转时间、平均周转时间和平均带权周转时间,完成表2。 每当系统中出现一个新的就绪进程i时,就将其 优先权Pi与正在执行的进程j的优先权Pj进行比较。 如果Pi≤Pj,原进程Pj便继续执行; 如果是Pi>Pj, 则立即停止Pj的执行,做进程切 换,使i进程投入执行。 我们可以规定,在就绪队列中的进程,随其等待时间的增长,其优先权以速率a提高。 若所有的进程都具有相同的优先权初值,则显然是最先进入就绪队列的进程,将因其动态优先权变得最高而优先获得处理机,此即FCFS算法。 若所有的就绪进程具有各不相同的优先权初值,那么,对于优先权初值低的进程,在等待了足够的时间后,其优先权便可能升为最高,从而可以获得处理机。 当采用抢占式优先权调度算法时,如果再规定当前进程的优先权以速率b下降,则可防止一个长作业长期地垄断处理机。 知识回顾 FCFS SP(J)F HPF HRRN RR FB 周转时间,带权周转时间,平均周转时间,平均带权周转时间? 综合实例 假设系统中有5个进程,它们的到达时间和服务时间见下表,忽略I/O以及其他开销时间. 按先来先服务(FCFS) 非抢占和抢占的短进程优先(SPF) 高响应比优先(HRRN) 时间片轮转(RR,时间片=1) 多级反馈队列(FB,第i级队列的时间片=2i-1)及立即抢占的多级反馈队列(FB,第i级队列的时间片=2i-1) 调度算法进行CPU调度。请给出各个进程的完成时间、周转时间、带权周转时间、平均周转时间和平均带权周转时间。 综合练习 有一个内存中只能装入两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程调度采用以优先数为基础的抢占式调度算法。有如表所示的作业序列,表中所列的优先数是指进程调度的优先数,且优先数越小优先级越高。 (1)列出所有作业进入内存的时刻及结束时刻 (2)计算作业的平均周转时间

文档评论(0)

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

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

1亿VIP精品文档

相关文档