OS处理机调度MR_第1页
OS处理机调度MR_第2页
OS处理机调度MR_第3页
OS处理机调度MR_第4页
OS处理机调度MR_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机操作系统计算机操作系统第第4章处理机调度章处理机调度2本章主要教学内容本章主要教学内容分级调度分级调度作业调度作业调度进程调度进程调度调度算法调度算法实时系统调度方法实时系统调度方法3本章主要教学目标v 掌握处理机的三级调度掌握处理机的三级调度v 掌握作业调度及进程调度的概念掌握作业调度及进程调度的概念v 理解调度算法的评价准则理解调度算法的评价准则v 掌握并灵活运用常用的几种作业掌握并灵活运用常用的几种作业调度、进程调度算法调度、进程调度算法44.14.1分级调度分级调度v作业的状态及其转换作业的状态及其转换v调度的层次调度的层次v作业与进程的关系作业与进程的关系5作业的状态及转换u提

2、交状态:一个作业在其处于从输入设备进入外提交状态:一个作业在其处于从输入设备进入外部存储设备的过程称为提交状态。部存储设备的过程称为提交状态。u收容状态:也称为后备状态。若一个作业的全部收容状态:也称为后备状态。若一个作业的全部信息已全部被输入进输入井,则在它还未被调度去信息已全部被输入进输入井,则在它还未被调度去执行之前,该作业处于收容状态。执行之前,该作业处于收容状态。u执行状态:作业调度程序从后备作业中选取若干执行状态:作业调度程序从后备作业中选取若干个作业到内存投入运行。它为被选中作业建立进程个作业到内存投入运行。它为被选中作业建立进程并分配必要的资源,这些被选中的作业处于执行态并分配

3、必要的资源,这些被选中的作业处于执行态u完成状态:当作业运行完毕,但它所占用的资完成状态:当作业运行完毕,但它所占用的资源尚未全部被系统回收时,该作业处于完成状态。源尚未全部被系统回收时,该作业处于完成状态。6调度的层次1作业调度作业调度 作业调度又称为高级调度或长调度作业调度又称为高级调度或长调度,将,将已进入系统并处于后备状态的作业按某种已进入系统并处于后备状态的作业按某种算法选择一个或一批,为其建立进程,并算法选择一个或一批,为其建立进程,并进入主机。当该作业执行完毕时,还负责进入主机。当该作业执行完毕时,还负责回收系统资源。在回收系统资源。在批处理系统中批处理系统中,需要有,需要有作业

4、调度的过程,以便将它们分批地装入作业调度的过程,以便将它们分批地装入内存。在内存。在分时系统和实时系统分时系统和实时系统中,通常也中,通常也不需要作业调度。不需要作业调度。7用户执行提交后备作业录入 作业调度运行就绪等待完成作业调度图图 批处理系统中的作业处理及状态批处理系统中的作业处理及状态8调度的层次2交换调度:交换调度:又称又称中级调度中级调度。其主要任务是按。其主要任务是按照给定的原则和策略,将处于外照给定的原则和策略,将处于外存交换区中的就绪状态或等待状存交换区中的就绪状态或等待状态的进程调入内存,或把处于内态的进程调入内存,或把处于内存就绪状态或内存等待状态的进存就绪状态或内存等待

5、状态的进程交换到外存交换区。程交换到外存交换区。9调度的层次 3进程调度进程调度进程调度又称为进程调度又称为低级调度低级调度或或微观调度微观调度。其。其主要任务是按照某种策略和算法,将处理主要任务是按照某种策略和算法,将处理机分配给一个处于就绪状态的进程。进程机分配给一个处于就绪状态的进程。进程调度可分为下列两种方式:调度可分为下列两种方式:非抢占方式非抢占方式:抢占方式:抢占方式:把处理器分配给某个进程后,在把处理器分配给某个进程后,在该进程尚未终止或阻塞时,允许系统调该进程尚未终止或阻塞时,允许系统调度程序根据某种原则,暂停正在执行的度程序根据某种原则,暂停正在执行的进程,回收已经分配的处

6、理器,并将处进程,回收已经分配的处理器,并将处理器重新分配给其它更为紧急的进程。理器重新分配给其它更为紧急的进程。 4.线程调度线程调度10辅存高级调度后备作业作业1 作业2作业n对换进程中级调度主机内存用户态区进程m进程2进程1低级调度图 三种调度进程调度交换调度作业调度11作业与进程的关系v 作业是用户向计算机提交任务的任务作业是用户向计算机提交任务的任务实体。进程则是计算机为了完成用户实体。进程则是计算机为了完成用户任务实体而设置的执行实体,是系统任务实体而设置的执行实体,是系统分配资源的基本单位。分配资源的基本单位。v 一个作业总是由一个或多个进程组成一个作业总是由一个或多个进程组成的

7、,且至少由一个进程组成,但反过的,且至少由一个进程组成,但反过来不成立来不成立。v 作业的概念主要用在批处理系统中;作业的概念主要用在批处理系统中;而进程的概念则用在几乎所有的多道而进程的概念则用在几乎所有的多道系统中。系统中。124.2作业调度作业调度主要是完成作业从后备状作业调度主要是完成作业从后备状态到执行状态的转换,以及从执行态到执行状态的转换,以及从执行状态到完成状态的转换状态到完成状态的转换。v作业调度功能作业调度功能v作业调度目标与性能衡量作业调度目标与性能衡量13作业调度的功能1记录系统中各作业的状态记录系统中各作业的状态作业名作业名 作业类型作业类型 计算型、管理型、图形设计

8、型计算型、管理型、图形设计型 资源要求资源要求 内存量内存量外存量外存量外设类型及数量外设类型及数量软件支持工具库函数软件支持工具库函数 当前状态当前状态 提交状态、后备态、运行态、完提交状态、后备态、运行态、完成成 资源使用情况资源使用情况 进入系统的时间开始执行时间已进入系统的时间开始执行时间已运行时间内存地址外设台数运行时间内存地址外设台数作业的优先级作业的优先级 14作业调度的功能2从后备队列中挑选出一部分作业投入执行。作从后备队列中挑选出一部分作业投入执行。作业调度程序根据选定的调度算法,从后备作业业调度程序根据选定的调度算法,从后备作业队列中挑选出若干作业去投入执行。队列中挑选出若

9、干作业去投入执行。 3为被选中作业做好执行前的准备工作。作业调为被选中作业做好执行前的准备工作。作业调度程序为选中的作业建立相应的进程,并为这度程序为选中的作业建立相应的进程,并为这些进程分配它们所需要的系统资源,如分配给些进程分配它们所需要的系统资源,如分配给它们内存、外存、外设等。它们内存、外存、外设等。 4在作业执行结束时做好善后处理工作。包括输在作业执行结束时做好善后处理工作。包括输出作业管理信息;回收该作业所占用的资源;出作业管理信息;回收该作业所占用的资源;撤销与该作业有关的全部进程和该作业的作业撤销与该作业有关的全部进程和该作业的作业控制块等等。控制块等等。 作业从后备状态到执行

10、状态以及从执行状态到作业从后备状态到执行状态以及从执行状态到完成状态的转换过程如图完成状态的转换过程如图.所示。所示。15图图4.34.3作业调度中状态的转换过程作业调度中状态的转换过程16作业调度目标1.对所有作业应该是公平合理的;对所有作业应该是公平合理的;2.应使设备有高的利用率;应使设备有高的利用率;3.每天执行尽可能多的作业;每天执行尽可能多的作业;4.有快的响应时间。有快的响应时间。17作业调度性能衡量1. 周转时间周转时间 周转时间:是指作业被提交给系统开始,周转时间:是指作业被提交给系统开始,到作业终止为止的这段时间间隔,也称为到作业终止为止的这段时间间隔,也称为作业周转时间。

11、它包括四部分时间:作业周转时间。它包括四部分时间:a作业在外存后备队列上等待调度的时间。作业在外存后备队列上等待调度的时间。b进程在就绪队列上等待进程调度的时间。进程在就绪队列上等待进程调度的时间。c进程占用进程占用CPU执行的时间。执行的时间。d进程等待进程等待I/O操作完成的时间。操作完成的时间。18作业调度性能衡量作业作业i的周转时间的周转时间Ti可定义为:可定义为: Ti=Tei-Tsi其中,其中,Tei为作业为作业i的完成时间的完成时间 Tsi为作业为作业i的提交时间。的提交时间。平均周转时间为:平均周转时间为:n1iiTn1T19作业调度性能衡量2. 带权周转时间带权周转时间:作业

12、的周转时间作业的周转时间T与作业执行的与作业执行的时间时间Ts之比。即带权周转时间之比。即带权周转时间 WiT/Ts 因为周转时间因为周转时间 T=等待时间等待时间Tw+运行时间运行时间Ts, 因此,因此,Wi也可表示为:也可表示为:Wi1+TwTs 从公式可以看出,从公式可以看出,Wi=1,即,即Wi的最小值为的最小值为1。可以看出,带权周转时间越接近。可以看出,带权周转时间越接近1,则该作,则该作业相对等待时间越短,系统性能越高。业相对等待时间越短,系统性能越高。 而平均带权周转时间可表示为:而平均带权周转时间可表示为:11nisiiTTnW20辅存高级调度后备作业作业1 作业2作业n对换

13、进程中级调度主机内存用户态区进程m进程2进程1低级调度图 三种调度复习复习214.3进程调度v进程调度的功能进程调度的功能v进程调度的时机进程调度的时机v进程上下文切换进程上下文切换v进程调度性能评价进程调度性能评价22进程调度的功能进程调度的功能可总结为如下几个方进程调度的功能可总结为如下几个方面:面:1记录系统中所有进程的执行情况记录系统中所有进程的执行情况2从就绪态队列中选择一个进程从就绪态队列中选择一个进程3进行进程上下文的切换进行进程上下文的切换23进程调度的时机v 在并发执行的环境下,引起进程调度在并发执行的环境下,引起进程调度的事件有:的事件有:1完成任务完成任务2等待资源等待资

14、源3运行时间到运行时间到4进入睡眠状态进入睡眠状态5优先级变化优先级变化24进程调度性能评价v 进程调度性能的衡量是操作系统进程调度性能的衡量是操作系统设计的一个重要指标。其方法可设计的一个重要指标。其方法可分为:分为:1定性衡量:定性衡量: 可靠性。可靠性。 简洁性简洁性。2定量评价:定量评价:254.4调度算法v先来先服务调度算法先来先服务调度算法 v时间片轮转调度算法时间片轮转调度算法v多级反馈轮转调度算法多级反馈轮转调度算法v优先级调度算法优先级调度算法v最短进程优先调度算法最短进程优先调度算法 v最高响应比优先调度算法最高响应比优先调度算法 26先来先服务(FCFS)调度算法v 原理

15、原理每次调度是从就绪队列中,选择一每次调度是从就绪队列中,选择一个最先进入就绪队列的进程,把处理个最先进入就绪队列的进程,把处理器分配给该进程,使之得到执行。该器分配给该进程,使之得到执行。该进程一旦占有了处理器,它就一直运进程一旦占有了处理器,它就一直运行下去,直到该进程完成或因发生事行下去,直到该进程完成或因发生事件而阻塞,才退出处理器。件而阻塞,才退出处理器。 v 特点特点利于长进程,而不利于短进程。利于长进程,而不利于短进程。 27先来先服务(FCFS)调度算法进程进程名名到达到达时间时间执行执行时间时间开始开始执行执行时间时间完成完成时间时间周转周转时间时间带权周带权周转时间转时间A

16、 A0 01 1B B1 1100100C C2 21 1D D3 31001000111110110011011021001001022021991.9928最短作业优先调度算法(SJF )v 原理:原理:它是从就绪队列中选择一个估它是从就绪队列中选择一个估计运行时间最短的进程,将处理器分计运行时间最短的进程,将处理器分配给该进程,使之占有处理器并执行,配给该进程,使之占有处理器并执行,直到该进程完成或因发生事件而阻塞,直到该进程完成或因发生事件而阻塞,然后退出处理器,再重新调度。然后退出处理器,再重新调度。 v 特点:特点:照顾到了系统中占大部分的短照顾到了系统中占大部分的短进程,有效地降

17、低了进程的平均等待进程,有效地降低了进程的平均等待时间,提高了系统的吞吐量,但对长时间,提高了系统的吞吐量,但对长进程不利。进程不利。29图图 FCFSFCFS和和SJFSJF调度算法的性能调度算法的性能 进程名进程名A AB BC CD DE E平均平均到达时间到达时间0 01 12 23 34 4执行时间执行时间4 43 35 52 24 4FCFSFCFS完成时间完成时间周转时间周转时间带权周转时间带权周转时间SJFSJF完成时间完成时间周转时间周转时间带权周转时间带权周转时间4417621210214115.518143.592.8441631.5982.71392.2518163.2

18、82.130时间片轮转调度算法(RR)v 原理:系统将所有的就绪进程按进入原理:系统将所有的就绪进程按进入就绪队列的先后次序排列。每次调度就绪队列的先后次序排列。每次调度时把时把CPU分配给队首进程,让其执行分配给队首进程,让其执行一个时间片一个时间片q,当时间片,当时间片q用完,由计用完,由计时器发出时钟中断,调度程序则暂停时器发出时钟中断,调度程序则暂停该进程的执行,使其退出处理器,并该进程的执行,使其退出处理器,并将它送到就绪队列的末尾,等待下一将它送到就绪队列的末尾,等待下一轮调度执行。轮调度执行。 图图4.44.4轮转法调度轮转法调度31时间片轮转调度算法v 时间片时间片q的长度选择

19、:的长度选择:v 时间片时间片q的取值方式:的取值方式: 固定大小时间片:固定大小时间片: 可变时间片:可变时间片:v 特点:为了保证人机交互的及时性,特点:为了保证人机交互的及时性,系统使每个进程依次按时间片方式系统使每个进程依次按时间片方式轮流地执行轮流地执行 。32时间片轮转调度算法例:考虑下述四个进程例:考虑下述四个进程A、B、C和和D的执行情况。设它们依次进入就绪的执行情况。设它们依次进入就绪队列,但前后时间忽略不计。四个队列,但前后时间忽略不计。四个进程分别需要运行进程分别需要运行12,5,3和和6个时间单位。如下表所示。个时间单位。如下表所示。 计算当时间片分别为计算当时间片分别

20、为q=1、q=4时各进程的开始运行时间、完成时时各进程的开始运行时间、完成时间、周转时间及带权周转时间。间、周转时间及带权周转时间。 33解:通过分析及计算,我们可以得到下表:进程名进程名到达时间到达时间到达到达时间时间运行运行时间时间开始开始时间时间完成完成时间时间周转周转时间时间带权周带权周转时间转时间时时间间片片q=1A012B05C03D06平均周转时间平均周转时间T= 平均带权周转时间平均带权周转时间W W=时时间间片片q=4A012B05C03D06平均周转时间平均周转时间T= 平均带权周转时间平均带权周转时间W=当当q=1、q=4时,时,RR调度算法的比较调度算法的比较01232

21、6171120261711202.173.43.673.3318.53.143.3819.7504811262011222.1743.673.672620112234优先级调度算法v 优先级调度算法也叫做优先权调度算优先级调度算法也叫做优先权调度算法,可做为作业调度或进程调度策略。法,可做为作业调度或进程调度策略。这种算法可用于批处理系统,也可用这种算法可用于批处理系统,也可用于实时系统中于实时系统中 。v 在优先级调度算法中,优先级用来表在优先级调度算法中,优先级用来表示作业或进程所享有的调度优先权。示作业或进程所享有的调度优先权。该算法的关键是确定进程或作业的优该算法的关键是确定进程或作业

22、的优先级。确定优先级的方法有两类:静先级。确定优先级的方法有两类:静态法和动态法。态法和动态法。35静态优先级v 静态优先级是在创建作业或进程时确定静态优先级是在创建作业或进程时确定的,且在作业或进程的整个运行期间保的,且在作业或进程的整个运行期间保持不变。持不变。v 作业调度中确定静态优先级的依据如下作业调度中确定静态优先级的依据如下三个方面原则:三个方面原则: 由用户自己根据作业的紧急程度输入由用户自己根据作业的紧急程度输入一个适当优先级。一个适当优先级。 由系统或操作员根据作业类型指定优由系统或操作员根据作业类型指定优先级。先级。 系统根据作业要求资源情况确定优先系统根据作业要求资源情况

23、确定优先级。级。36静态优先级v 进程调度中确定静态优先级的依据进程调度中确定静态优先级的依据如下:如下: 根据进程的类型给予不同的优先级。根据进程的类型给予不同的优先级。 将作业的静态优先级作为它所属进将作业的静态优先级作为它所属进程的优先级。程的优先级。37动态优先级v 动态优先级是指在创建进程时所赋予动态优先级是指在创建进程时所赋予的优先级是随进程的推进或随其等待的优先级是随进程的推进或随其等待时间的增加而改变的,以便获得更好时间的增加而改变的,以便获得更好的调度性能。的调度性能。v 进程调度中确定动态优先级的依据如进程调度中确定动态优先级的依据如下:下: 根据进程占有根据进程占有CPU

24、时间的长短来决定。时间的长短来决定。 根据就绪进程等待根据就绪进程等待CPU时间的长短来决时间的长短来决定。定。38两种占有两种占有CPU的方式的方式v可剥夺式可剥夺式(可抢占式可抢占式) 当有比正在运行的进程优先级更高当有比正在运行的进程优先级更高的进程就绪时的进程就绪时,系统可强行剥夺正在系统可强行剥夺正在运行进程的运行进程的CPU,提供给具有更高优提供给具有更高优先级的进程使用先级的进程使用v不可剥夺式不可剥夺式(不可抢占式不可抢占式) 某一进程被调度运行后某一进程被调度运行后,除非由于它除非由于它自身的原因不能运行自身的原因不能运行,否则一直运行否则一直运行下去下去39多级反馈轮转调度

25、算法v 将就绪队列分为将就绪队列分为N级,每个就绪队列分级,每个就绪队列分配给不同的时间片,队列级别越高,时配给不同的时间片,队列级别越高,时间片越小,级别越低,时间片越大,最间片越小,级别越低,时间片越大,最后一级采用时间片轮转,其他队列采用后一级采用时间片轮转,其他队列采用先进先出;先进先出;系统从第一级调度,当第一系统从第一级调度,当第一级为空时,系统转向第二队列,级为空时,系统转向第二队列,当当运行进程用完一个时间片,放弃运行进程用完一个时间片,放弃CPU时,时,进入下一级队列;进入下一级队列;等待进程被唤醒时,等待进程被唤醒时,进入第一级就绪队列;进入第一级就绪队列;当进程第一次就当

26、进程第一次就绪时,进入第一级就绪队列绪时,进入第一级就绪队列40图图 多级反馈队列调度算法多级反馈队列调度算法 就绪队列1就绪队列2就绪队列3就绪队列nS1S2S3至CPU至CPU至CPU至CPU(时间片:S1 S2 S3)41最高响应比优先调度算法v 原理:是从就绪队列中选择一个响应原理:是从就绪队列中选择一个响应比最高的进程,让其获得处理器执行,比最高的进程,让其获得处理器执行,直到该进程完成或因等待事件而退出直到该进程完成或因等待事件而退出处理器为止。响应比处理器为止。响应比R可定义如下:可定义如下: 要求服务时间要求服务时间等待时间R要求服务时间响应时间要求服务时间要求服务时间等待时间

27、R由于等待时间与服务时间之和,就是系统对该由于等待时间与服务时间之和,就是系统对该作业的响应时间,据此,又可表示为:作业的响应时间,据此,又可表示为: 42最高响应比优先调度算法v 特点特点:(1) 如果如果作业的等待时间相同作业的等待时间相同,则要求服务的时,则要求服务的时间愈短,其优先权愈高,因而该算法有利于间愈短,其优先权愈高,因而该算法有利于短作业短作业(2) 当当要求服务的时间相同时要求服务的时间相同时,作业的优先权决,作业的优先权决定于其等待时间,等待时间愈长,其优先权定于其等待时间,等待时间愈长,其优先权愈高,因而它实现的是先来先服务。愈高,因而它实现的是先来先服务。(3) 对于

28、长作业,对于长作业,作业的优先级可以随等待时间作业的优先级可以随等待时间的增加而提高,的增加而提高,当其等待时间足够长时,其当其等待时间足够长时,其优先级便可升到很高,优先级便可升到很高, 从而也可获得处理机。从而也可获得处理机。 43调度算法例:有一个具有两道作业的批处理系统,作业调度采用短例:有一个具有两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程调度采用以优先数为基础的作业优先的调度算法,进程调度采用以优先数为基础的抢占式调度算法,抢占式调度算法,假设优先数小的优先级别高。假设优先数小的优先级别高。如下表如下表所示的作业序列。所示的作业序列。(1)列出所有作业进入内存的时间

29、及作业结束时间。)列出所有作业进入内存的时间及作业结束时间。(2)计算平均周转时间。)计算平均周转时间。作业名作业名到达时间到达时间估计运行时间估计运行时间优先数优先数A10:0040分钟分钟5B10:2030分钟分钟3C10:3050分钟分钟4D10:5020分钟分钟644调度算法解:解: (1)各作业进入时间和结束时间如下:)各作业进入时间和结束时间如下:作业名作业名进入时间进入时间结束时间结束时间A10:0011:10B10:2010:50C11:1012:00D10:5012:2045调度算法(2)根据周转时间)根据周转时间=完成时间提交时间,完成时间提交时间,可得各作业的周转时间为:

30、可得各作业的周转时间为: TA=11:1010:00=70(分钟)(分钟) TB=10:5010:20=30(分钟)(分钟) TC=12:0010:30=90(分钟)(分钟) TD=12:2010:50=90(分钟)(分钟) 平均周转时间(平均周转时间(TA + TB + TC + TD)/4=70(分钟)(分钟)46调度算法v练习练习:在单道批处理系统中,有四个作业到达:在单道批处理系统中,有四个作业到达输入井和需要的计算时间如表所示,现采用响输入井和需要的计算时间如表所示,现采用响应比最高者优先算法。忽略作业调度所花的时应比最高者优先算法。忽略作业调度所花的时间。当第一个作业进入系统后可开

31、始调度。间。当第一个作业进入系统后可开始调度。(1)填充表中空白处;()填充表中空白处;(2)四个作业的执行)四个作业的执行次序为:(次序为:(3)四个作业的平均周转时间为:)四个作业的平均周转时间为:作业作业到达输入井时间到达输入井时间需计算时间需计算时间开始时间开始时间完成时间完成时间周转时间周转时间1 18 8:00002 2小时小时2 28 8:30303030分钟分钟3 39 9:00006 6分钟分钟4 49 9:30301212分钟分钟8:0010:0012010:0610:006610:3610:0612610:3610:4878474.6实时系统调度方法v实时系统的特点实时系

32、统的特点 v实时调度算法的分类实时调度算法的分类v时限调度算法与频率单调调度算时限调度算法与频率单调调度算法法48实时系统的特点v根据对处理外部事件的时限要求,根据对处理外部事件的时限要求,实时系统中处理的外部事件可分为实时系统中处理的外部事件可分为硬实时任务和软实时任务。硬实时任务和软实时任务。 v实时系统所处理的外部任务可分为实时系统所处理的外部任务可分为周期性的与非周期性的两大类。周期性的与非周期性的两大类。49实时操作系统的特点v有限等待时间(决定性)有限等待时间(决定性) v有限响应时间有限响应时间v用户控制用户控制v可靠性高可靠性高v系统出错处理能力强系统出错处理能力强50实时操作

33、系统应具有的能力v 很快的进程或线程切换速度很快的进程或线程切换速度 v 快速的外部中断响应能力快速的外部中断响应能力v 基于优先级的随时抢先式调度策略基于优先级的随时抢先式调度策略 基于优先级的时间片轮转调度算法。基于优先级的时间片轮转调度算法。 基于优先级的非抢占式调度算法。基于优先级的非抢占式调度算法。 基于优先级的固定点抢占式调度算法。基于优先级的固定点抢占式调度算法。 基于优先权的立即抢占基于优先权的立即抢占(Immediate Preemption)的调度算法。的调度算法。51实时调度算法的分类v静态表格驱动类静态表格驱动类 v静态优先级驱动抢先式调度算法类静态优先级驱动抢先式调度

34、算法类v动态计划调度算法类动态计划调度算法类v尽力而为调度算法类尽力而为调度算法类52时限调度算法v时限调度算法是一种以满足用户要求的时限调度算法是一种以满足用户要求的时限为调度原则的算法。在实时系统是时限为调度原则的算法。在实时系统是的用户要求时限有处理开始时限和处理的用户要求时限有处理开始时限和处理结束时限。结束时限。 v时限调度算法所需要输入信息有:时限调度算法所需要输入信息有:任务就绪时间或事件到达时间任务就绪时间或事件到达时间开始时限开始时限完成时限完成时限处理时间处理时间资源需求资源需求优先级优先级53时限调度算法v例:设实时系统从两个不同的数据源例:设实时系统从两个不同的数据源D

35、A和和DB周期性地收集数据并进行处理,其中周期性地收集数据并进行处理,其中DA的时限的时限为为30ms为周期,为周期,DB的时限要求以的时限要求以75ms为周为周期。设期。设DA所需处理时限为所需处理时限为15ms,DB所需处所需处理时限为理时限为38ms,则与,则与DA和和DB有关进程的事有关进程的事件发生时限、执行时限及结束时限件发生时限、执行时限及结束时限54时限调度算法图图4.124.12时限调度算法给出的调度顺序时限调度算法给出的调度顺序如果使用时限调度算法,并按最近结束时限如果使用时限调度算法,并按最近结束时限优先级最高的方法进行排列,有下图:优先级最高的方法进行排列,有下图:55

36、频率单调调度算法v频率单调调度算法是一种被广泛用于多频率单调调度算法是一种被广泛用于多周期性实时处理的调度算法。周期性实时处理的调度算法。v基本原理是频率越低(周期越长)的任基本原理是频率越低(周期越长)的任务的优先级越低。务的优先级越低。 v对于对于n(n1)个周期的不同任务来说,设个周期的不同任务来说,设每个周期为每个周期为 Ti,其相应任务的执行时间为其相应任务的执行时间为Ci,则使用频率单调调度算法的充分条件则使用频率单调调度算法的充分条件是:是: C1/T1+C2/T2+Ci/Ti+Cn/Tnn(21/n-1)56Linux 进程调度 v调度方式调度方式 Linux内核的调度方式基本

37、上采内核的调度方式基本上采用用“抢占式优先级抢占式优先级”方式,方式, 即当进即当进程在用户模式下运行时,不管是否程在用户模式下运行时,不管是否自愿,自愿, 在一定条件下,在一定条件下, 核心就可以核心就可以暂时剥夺其运行而调度其他进程进暂时剥夺其运行而调度其他进程进入运行。入运行。 57表表 调度策略标志调度策略标志 调度策略标志调度策略标志调度算法调度算法SCHED_RR用于实时进程,基于优先级用于实时进程,基于优先级的轮转法的轮转法SCHED_FIFO用于实时进程,基于优先级用于实时进程,基于优先级的先进先出算法的先进先出算法SCHED_OTHER用于普通进程,基于优先级用于普通进程,基

38、于优先级的轮转法的轮转法Linux 进程调度进程调度58Windows 2000中线程的调度v 线程调度特征:线程调度特征: 处理机调度是严格针对线程队列进行的,不处理机调度是严格针对线程队列进行的,不考虑被调度线程属于哪个进程的。例如:进考虑被调度线程属于哪个进程的。例如:进程程P有有5个可运行的线程,进程个可运行的线程,进程Q有有2个可运行个可运行的线程,如果这的线程,如果这7个线程的优先级相同,则每个线程的优先级相同,则每个线程将得到个线程将得到1/7的处理机时间。的处理机时间。 Windows 2000的处理机调度对象是线程,的处理机调度对象是线程,进程仅作为资源对象和线程运行环境的提

39、供进程仅作为资源对象和线程运行环境的提供者。者。 Windows 2000实现了一个基于优先级实现了一个基于优先级抢占式的多处理器调度系统,系统总是运行抢占式的多处理器调度系统,系统总是运行优先级最高的就绪线程。优先级最高的就绪线程。59Windows 2000中线程的调度v 当一个线程被调度进入运行状态时,它可运行当一个线程被调度进入运行状态时,它可运行一个被称为时间配额的时间单位。时间配额是一个被称为时间配额的时间单位。时间配额是允许一个线程连续运行的最大时间总和,随后允许一个线程连续运行的最大时间总和,随后系统会中断线程的运行,判断是否需要降低该系统会中断线程的运行,判断是否需要降低该线程的优先级,并查找是否有其他高优先级或线程的优先级,并查找是否有其他高优先级或相同优先级的线程等待运行。相同优先级的线程等待运行。v 由于系统具有抢占式调度特征,因此,一个线由于系统具有抢占式调度特征,因此,一个线程的一次调度执行可能并没有用完它的时间配程的一次调度执行可能并没有用完它的时间

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论