- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* Operating System OS 操作系统 郑州大学 申丰山 * Operating System OS 操作系统 郑州大学 申丰山 主要内容: 低级调度的功能和类型 作业调度和低级调度算法 实时调度算法 多处理器调度算法 2.8 处理器调度算法 2.8.1 低级调度的功能 低级调度负责动态地把处理器分配给进程或内核级线程。 适用于进程调度的算法一般都适用于内核级线程的调度。 注意:用户级线程的调度是用户程序自己的事情,与操作系统无关,不属于低级调度。 在纯用户级线程系统中,低级调度的对象仍然是进程;在内核级线程和混合式线程系统中,低级调度的对象是内核级线程 低级调度的主要功能 调度程序担负两项任务:调度和分派。 调度实现调度策略,确定就绪态进程/线程竞争使用处理器的次序的裁决原则,即进程/线程何时应该放弃CPU和选择哪个进程/线程来执行。 分派实现调度机制,确定如何时分复用CPU,处理上下文交换细节,完成进程/线程同CPU的绑定以及放弃的实际工作。 什么时候需要低级调度? 创建新进程/线程;进程/线程终止;进程/线程阻塞自己;进程/线程运行过程中出现异常/中断;进程/线程执行系统调用;进程/线程所请求的I/O操作完成;进程/线程耗尽时间片;进程/线程改变优先级等。 从概念上看,调度机制由三个逻辑功能模块组成: 队列管理程序 上下文切换程序 分派程序 2 低级调度的基本类型 低级调度的基本类型是指调度策略选择下一个运行进程的时间点和仲裁方式,在其他时间不能改变已经获得处理器的进程的分派情况。分为两种: 剥夺式(抢先式):当进程/线程正在处理器上运行时,系统可以根据规定的原则剥夺分配给此进程/线程的处理器,将其移入就绪队列,选择其他进程/线程来运行。有两种剥夺原则: 高优先级的进程/线程剥夺低优先级进程/线程 进程/线程的时间片用完之后被剥夺 非剥夺式(非抢先式):一旦进程/线程获得处理器开始运行后就不再出让处理器,除非它执行结束,或者主动放弃处理器,或者因发生某个事件而不能继续执行。 剥夺式策略的开销比非剥夺式策略的开销大,主要是调度程序自身的开销,以及主存和磁盘的对换程序、数据的开销。 但是,剥夺式策略可以避免进程/线程长时间地独占处理器,对于实时系统和分时系统有利,能为用户提供高性能的服务。 操作系统一般使用两种调度策略的结合,而且内核关键程序是非剥夺的,用户进程是剥夺式的。 低级调度的最初对象是传统操作系统中的进程,操作系统中引入了线程以后,进程只作为中级调度的对象,内核级线程则替代进程成为低级调度的对象。适用于进程调度的算法一般都适用于内核级线程的调度。 用户级线程的调度是应用程序自己的事。在纯用户级多线程策略中,低级调度的对象依然是进程;在混合策略中,低级调度的对象是内核级线程。 2.8.2 作业调度和低级调度算法 1.先来先服务算法 (1)策略:按照作业进入系统的先后次序来挑选作业,先进入系统的作业优先被挑选。 这是一种非剥夺式算法。 (2)效果:算法容易实现,效率不高,只顾及作业等候时间,没考虑作业要求服务时间的长短,不利于短作业而优待了长作业。有利于CPU繁忙型作业而不利于I/O繁忙型作业。 例如,三个作业同时到达系统并立即进入调度: 作业名 所需CPU时间 作业1 28 作业2 9 作业3 3 采用FCFS算法,三个作业的周转时间分别为:28、37和40,因此,平均作业周转时间T = (28+37+40)/3 = 35 若三个作业提交顺序改为作业2、1、3,平均作业周转时间约为29。 若三个作业提交顺序改为作业3、2、1,平均作业周转时间约为18。 FCFS调度算法的平均作业周转时间与作业提交的顺序有关。 2.最短作业优先算法SJF(Shortest Job First) (1)策略:最短作业优先算法以进入系统的作业所要求的CPU时间为标准,总选取估计计算时间最短的作业投入运行。这是一种非剥夺式调度算法。 (2)性能:算法易于实现,效率不高,弱点是需要预先知道作业所需的CPU时间,而这个时间只能靠估计,估计值很难精确,若估计过低,系统可能提前终止该作业;忽视了作业等待时间,会出现饥饿现象;由于缺少剥夺机制,对分时、实时处理很不理想。 最短作业优先算法SJF算法的调度时间:每一个作业完成时。 例如,四个作业同时到达系统并立即进入调度: 作业名 所需CPU时间 作业1 9 作业2 4 作业3 10 作业4 8 假设系统中没有其他作业,现实施SJF调度算法, ?SJF的作业调度顺序为作业2、4、1、3, 平均作业周转时间 T = (4+12+21+31)/4 = 17 平均带
您可能关注的文档
- (二)论量刑程序的独立性一种以量刑控制为中心的程序理论.doc
- (改)食品安全管理方法Microsoft Word 文档 2.doc
- (教科版)四年级语文上册课件 最棒的玉米.ppt
- (新课标)2014届中考数学查漏补缺第一轮基础复习 第37讲 概率课件 北师大版.ppt
- (学生版)庄浪一中2014--2015学年第二次质量检测试题(卷).doc
- (一)论量刑程序的独立性一种以量刑控制为中心的程序理论.doc
- 0Imlws2008年中级经济师《人力资源管理专业知识与实务》真题.doc
- 0Y_果蝇与其他物种遗传标记比较分析-RAPD 091029.ppt
- 0同时蒸馏萃取_气质联用分析养殖暗纹东方鲀肉中的挥发性成分.doc
- 1-1化学反应与能量的变化2。1.ppt
文档评论(0)