版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2025/11/6计算机科学系操作系统课程组1第4章处理器调度
计算机科学与通信工程学院2025/11/6计算机科学系操作系统课程组2第4章处理器调度本章目标:掌握处理器调度的基本原理、算法及实现方法能够识别处理器调度功能实现的关键环节和影响因素能够认识到处理器调度功能实现有多种方案可选择,能够通过文献研究,在多种方案中,寻求一种更合适的解决方案能够遵循系统化的基本要求,确定解决处理器调度的设计目标和技术方案能够运用所学知识解决处理器调度设计与实现问题,能在设计实现中体现创新意识能够对实验结果进行进行输入条件关联分析和解释,并能综合应用场景和技术需求,得出结论的有效性总述操作系统的重要任务之一:是充分、有效地利用系统的各类资源;最宝贵的资源:处理器
;分配调度策略、处理冲突、资源回收;处理器分配对象:进程、线程;中断是处理器调度的支撑前提,需要复习中断的概念。2025/11/6计算机科学系操作系统课程组4第4章处理器调度4.1
处理器调度类型4.2单处理器调度算法4.3多处理器调度4.4
实时调度4.5处理器调度实例4.6处理器调度新进展2025/11/6计算机科学系操作系统课程组54.1处理器调度类型处理器调度的目的是为了满足系统的运行目标,把进程或线程按照一定的策略分派到一个或者多个处理器上运行。调度层次:长程、中程、短程4.1处理器调度类型4.1.1作业调度4.1.2
中级调度4.1.3
短程调度定义作业调度也叫高级调度、宏调度或长程调度。主要功能
根据进程控制块中的信息,按照某种原则从外存上的后备队列中选取一个或几个进程调入内存,并为它们创建进程、分配必要的资源,然后再将新创建的进程插入就绪队列。
4.1.1作业调度定义中级调度又称中程调度。中程调度负责内外存之间的进程对换,以解决内存紧张的问题,即它将内存中处于等待状态的某些进程调到外存对换区,以腾出内存空间,再将外存对换区中已具备运行条件的进程重新调入内存准备运行。
4.1.2中级调度定义短程调度也称为低级调度或进程(线程)调度,所调度的对象是进程(或内核级线程)。它决定就绪队列中哪个进程或线程将获得处理器,并将处理器分配给该进程或者线程。
4.1.3短程调度进程调度的功能:(1)保护当前正在执行进程的现场,将程序状态寄存器,指令计数器及所有通用寄存的内容放到特定单元保留起来。(2)查询、登记和更新进程控制块PCB(ProcessControlBlock)中的相应表项,根据表项中的内容和状态,并按一定的算法,从就绪进程中选择一个,并把CPU(CentralProcessingUnit)分配给它。(3)恢复被调度到的进程的原来现场。
4.1.3短程调度调度的方式:按把CPU分配给进程后,它能占用多长时间,而分类。
4.1.3短程调度两种方式(1)剥夺式(2)非剥夺式剥夺式:当一个进程正在执行时,系统可以基于某种原则强行将CPU的控制权从当前进程转给其它进程。
4.1.3短程调度剥夺原则(1)优先级原则:优先级高的进程可以剥夺优先级低的进程的执行。(2)短进程原则:短进程到达后可以剥夺长进程的执行。(3)时间片原则:一个时间片用完重新调度。非剥夺式:进程对处理器的控制权具有独占性,除非该进程主动出让CPU控制权。优点:简单,系统开销小。缺点:可能会导致系统性能的恶化。主要表现为:一个紧急任务到达时,不能立即投入执行,以致延误时机;若干个后到的短进程需要等待长进程执行完毕,致使进程的周转时间增长。
4.1.3短程调度2025/11/6计算机科学系操作系统课程组14第4章处理器调度4.1
处理器调度类型4.2单处理器调度算法4.3多处理器调度4.4
实时调度4.5处理器调度实例4.6处理器调度新进展处理器调度都由操作系统的调度程序实施,而调度程序所使用的算法称为调度算法。调度算法准则:(1)资源利用率:使得CPU或其它资源的使用率尽可能高且能够并行工作。(2)平衡资源:应保持系统中所有资源都处于繁忙的状态。该准则也可用于中程调度和长程调度。(3)响应时间:提交一个请求(命令)到接收到响应之间的时间间隔称响应时间。这是分时系统和实时系统衡量调度性能的一个重要指标。
4.2.1处理器调度功能与标准(4)周转时间:一个进程从提交到完成之间的时间间隔称周转时间,这是批处理系统衡量调度性能的一个重要指标。(5)吞吐率:每个单位时间完成的进程数。这个指标主要用于度量计算机可以执行多少工作。(6)公平性:每个用户每个进程获得合理的CPU份额或其他资源份额,确保不会出现饿死情况。上述准则无法达到十全十美,在设计时必须根据其目标的不同进行权衡,以达到较好的效果。
4.2.1处理器调度功能与标准常用的调度算法:1)先来先服务调度;2)时间片轮转法;3)最短进程优先;4)优先级调度;5)多级反馈队列轮换法。
4.2.2常用的处理器调度算法先来先服务调度算法:也称先进先出或者严格排队方案。即先请求处理器的进程先分配到处理器,直到该进程运行结束或发生等待。实现:采用就绪队列进出操作实现优点:易实现缺点:未考虑调度准则
4.2.2常用的处理器调度算法时间片轮转法:把CPU按时间片(一个较小的时间单元)依顺序轮流赋予就绪队列中的每一个进程。该算法是一种剥夺式调度。对于未完成执行的进程,释放CPU后回到就绪队列的末尾排队,等待下一轮时间片。该算法特别适合于分时系统,其难度和关键在于选择合理的时间片。如果时间片过长,时间片轮转法就退化为先来先服务调度算法,如果时间片过小,则上下文切换频繁,开销大。
4.2.2常用的处理器调度算法最短进程优先策略是一种非抢占的策略。原则:选择所需处理时间最短的进程占有CPU运行。最短进程优先算法克服了FCFS偏爱长进程的缺点,易于实现。主要缺点:1)需要预先知道进程所需的CPU时间;2)忽视了进程等待时间,使进入系统时间早但计算时间长的进程等待时间过长,甚至出现饥饿现象。
4.2.2常用的处理器调度算法优先级调度算法:把处理器分配给就绪队列中具有最高优先级的进程,当具有最高优先级的进程有两个或者两个以上时,采用先来先服务调度策略进行调度。常用在批处理系统和实时系统中。
4.2.2常用的处理器调度算法优先级调度算法的关键在于如何确定进程的优先级。常用的进程优先级确定方法:(1)静态优先级:在进程创建时即被确定的,在以后整个执行期间不再改变。(2)动态优先级:在进程的执行期间,按某种原则不断修改进程的优先级,优先级可随进程的等待时间,占用CPU的时间的变化而变化。
4.2.2常用的处理器调度算法确定进程静态优先级的主要依据有:1)进程类型:系统进程的优先级要高于用户进程的优先级。2)进程对资源的需求:如估计执行时间、内存需要量、I/O设备的类型与数量等。3)用户要求的优先级。根据用户作业的紧急程度需求,确定该作业的进程优先级。
4.2.2常用的处理器调度算法动态优先级确定原则:1)根据进程占用CPU时间的长短来确定。一个进程占用CPU时间越长,优先级就越低。可防止一个长作业长期垄断处理器。2)根据进程等待处理器时间的长短来决定。一个进程等待时间越长,它的优先级就越高。静态优先级调度算法简单易行,但不精确。动态优先级调度算法可获得良好的调度性能,但需要系统经常计算更新进程的动态优先级,增加了系统的开销。
4.2.2常用的处理器调度算法多级反馈队列轮换法:把时间片轮转法中的单就绪队列改为双就绪队列或多就绪队列,并赋给每个队列不同的优先权。进程调度首先调用高优先权队列中的进程占用CPU并执行,当高优先权队列中的进程已全部完成或因其它事件而无进程可执行时,才能去处理低优先权队列中的进程。
4.2.2常用的处理器调度算法多级反馈队列调度算法示意图
4.2.2常用的处理器调度算法多级反馈队列的组织特点:(1)每个队列中的就绪进程按“先来先服务”的原则获得CPU。(2)多个队列之间的关系:时间片长的进程优先级低,反之优先级高。(3)每一个获得CPU的进程,当它用完对应时间片后,如果还未完成,则被排入下一级的就绪队列中,但增加其下一次执行的时间片。(4)阻塞队列的进程转为就绪状态时,应将其安排在优先级较高的就绪队列中。
4.2.2常用的处理器调度算法多级反馈队列调度算法的定义使它成为最通用的CPU调度算法。它可被配置以适应特定的系统设计。由于需要选择参数以实现最佳的调度,因此它也是最复杂的调度算法。
4.2.2常用的处理器调度算法2025/11/6计算机科学系操作系统课程组29第4章处理器调度4.1
处理器调度类型4.2单处理器调度算法4.3多处理器调度4.4
实时调度4.5处理器调度实例4.6处理器调度新进展多处理器系统有:(1)专门功能的处理器:有一个通用的主处理器,专用处理器受主处理器的控制,并为主处理器服务。如:I/O处理器。(2)松散耦合多处理器系统:由一系列相对自治的系统组成,每个处理器拥有自己的主存和I/O通道,如:cluster。(3)紧密耦合多处理器系统:由一系列共享同一个主存的一组处理器组成。
4.3多处理器调度1)如何把进程分配到处理器上(1)静态分配策略:把一个进程永久地分配给一个处理器,每个处理器对应一个进程调度队列。(2)动态分配策略:所有处理器共用一个就绪进程队列,当某一个处理器空闲时,就选择一个就绪进程占有该处理器运行。
4.3.1多处理器调度考虑的问题2)是否要在单个处理器上支持多道程序设计:多道程序运行会提高系统资源利用率。3)如何指派进程在多处理器环境中复杂的调度算法往往不能取得好的效果,调度策略的目标是简单有效且实现代价低。
4.3.1多处理器调度考虑的问题同步的粒度处理器亲和性处理器负载均衡
4.3.2多处理器的进程调度同步的粒度:系统中多个进程之间同步的频率,它是刻画进程并发度的一个重要指标。粒度划分成5个层次:
4.3.2多处理器的进程调度处理器亲和性:又称处理器关联,就是进程要在某个给定的CPU上尽量长时间地运行而不被迁移到其它处理器的倾向性。就绪队列中的每一个任务(进程或线程)都有一个标签来指定它们倾向的处理器。在分配处理器的阶段,每个任务就会被分配到它们所倾向的处理器上。
4.3.2多处理器的进程调度负载平衡(loadbalancing):将工作负载平均地分配到系统中的所有处理器上。负载平衡通常有两种方法:(1)推转移:依靠一个特定的进程周期性地检查每个处理器上的负载,如果发现不平衡,将进程从超载处理器推送到空闲或不太忙的处理器上。(2)拉转移:空闲处理器从一个忙的处理器上拉一个等待任务。
4.3.2多处理器的进程调度经典的调度算法:(1)负载共享调度算法;(2)组调度算法;(3)专用处理器分配调度算法。
4.3.3多处理器的线程调度负载共享调度算法:进程并不分配给一个特定的处理器,系统维护一个全局性就绪线程队列,当一个处理器空闲时,就选择一个就绪线程占有处理器运行。是最简单的多处理器调度算法。优点:
把负载均分到所有的可用处理器上,确保当有工作可做时,没有处理器是空闲的,处理器效率高不需要一个集中的调度程序:一旦一个处理器空闲,运行在该处理器上的调度程序就可选择下一个线程可选用单处理器进程调度策略
4.3.3多处理器的线程调度不足:就绪线程队列必须被互斥访问,多个处理器同时挑选运行线程时,影响系统性能
被抢占的线程可能不在同一个处理器上恢复运行,会增加恢复高速缓存信息,降低系统的性能若一个进程的线程间需要高度的合作,则所涉及的进程切换就会影响性能
4.3.3多处理器的线程调度组调度算法:把一组进程在同一时间一次性调度到一组处理器上运行优点:紧密相关的进程可并行执行,使进程切换的开销减小一次性同时调度一组处理器,一个决策可以同时影响许多处理器和进程,调度的开销也将减少合作线程的同时调度还可以节省资源分配的时间不足:引发了对处理器分配的要求,需仔细考虑各进程的线程数目
4.3.3多处理器的线程调度例如:以下2算法4/51/5应用程序A应用程序B浪费15%线程数加权调度法1/2应用程序A应用程序B浪费37.5%统一划分1/2统一划分的CPU浪费:3/8=37.5%线程加权的CPU浪费:3/20=15%
4.3.3多处理器的线程调度专用处理器分配调度:在一个应用程序执行期间,专门指派一组处理器,一旦一个应用被调度,它的每一个线程被分配一个处理器并一直占有这个处理器运行直到整个应用程序运行结束优点:在一个应用进程的整个生命周期中避免进程调度和切换,会加快程序的速度适用于高度并行的计算机系统的调度
4.3.3多处理器的线程调度动态调度算法:操作系统和应用进程共同完成调度。操作系统负责在应用进程之间分配处理器。应用进程在分配给它的处理器上执行可运行线程的子集,哪些线程应该执行,哪些线程应该挂起完全是由应用进程自己决定优点:对可以采用动态调度的应用程序,该方法优于组调度和专用处理器分配
4.3.3多处理器的线程调度2025/11/6计算机科学系操作系统课程组44第4章处理器调度4.1
处理器调度类型4.2单处理器调度算法4.3多处理器调度4.4
实时调度4.5处理器调度实例4.6处理器调度新进展4.4.1实时调度特点4.4.2常用的实时调度方法
4.4实时调度实时系统和其它系统的主要区别:其处理和控制的正确性不仅仅取决于计算的逻辑结果,而且取决于计算和处理结果产生的时间。
4.4.1实时调度特点实时系统具有如下5个特点:(1)有限等待时间(决定性):它要求所有的进程在处理事件时,都必须在有限的时间内开始处理。(2)有限响应时间:指从系统响应外部事件开始,必须在有限时间内处理完毕。(3)用户控制:用户可以控制进程的优先级并选择相应的调度算法,达到对进程执行先后顺序的控制。(4)可靠性高:不允许出现控制错误。(5)系统处理出错能力强:能够处理所发生的错误,又不能影响当时正在执行的用户应用程序。
4.4.1实时调度特点实时系统必须具有如下三个方面的处理能力:快速的进程和线程切换速度:进程或线程切换速度是实时系统设计的核心
快速的外部中断响应能力:要求系统具有快速硬件中断机构,还应使禁止中断的时间间隔尽量短,以免耽误时机
基于优先级的随时抢先式调度
4.4.1实时调度特点常用的实时调度方法常用算法都是基于任务的优先权,并根据确定优先级方法的不同而又形成不同的实时调度算法典型的实时调度算法:(1)频率单调调度算法;(2)时限调度算法;(3)最少裕度法。
4.4.2常用的实时调度方法频率单调调度算法-用于多周期性实时处理的调度算法基本思想:为每个进程分配一个与事件发生频率成正比的优先数,运行频率越高(运行周期越短)的进程其优先级就越高,系统优先调度优先级高的进程占有处理器运行。例如,周期为20ms的进程优先级为50,周期为100ms的进程优先级为10,运行时调度程序总是调度优先级最高的就绪进程,并采用抢占式分配策略。
4.4.2常用的实时调度方法时限调度算法是一种以满足用户要求的时限为调度原则的算法,属于抢占式调度算法基本思想是:按用户的时限要求顺序设置优先级,优先级高者占据处理器,即时限要求最近的任务优先占有处理器
4.4.2常用的实时调度方法用户要求时限有两种:处理开始时限和处理结束时限调度算法可以使用任意一种时限作为调度依据时限调度算法需要6种信息任务就绪时间或事件到达时间、开始时限、完成时限、处理时间、资源需求、优先级
4.4.2常用的实时调度方法
4.4.2常用的实时调度方法例如:DA的时限要求以30ms为周期,DB的时限要求以75ms为周期。设DA所需处理时限为15ms,DB所需处理时限为38ms
按照最近结束时间优先级最高的方法,其调度的顺序:
最少裕度法
基本思想:首先计算各个进程的富裕时间,即裕度(laxity),然后选择裕度最少的进程执行。计算公式为:裕度=截止时间-(就绪时间+计算时间)裕度小说明很紧迫了,就绪后让它尽快运行
4.4.2常用的实时调度方法2025/11/6计算机科学系操作系统课程组55第4章处理器调度4.1
处理器调度类型4.2单处理器调度算法4.3多处理器调度4.4
实时调度4.5处理器调度实例4.6处理器调度新进展传统UNIX系统的进程调度采用多级反馈轮转调度法。每个进程都有一个优先权域,在用户态下的进程的优先权是它最近使用CPU时间的函数,最近使用过较多CPU时间的进程优先权较低。进程优先权范围分为:用户优先权和核心优先权两种。每种优先权有若干优先权值(或称为优先数),每个优先权都有一个逻辑上与它相关联的进程队列。
4.5.1传统UNIX单处理器调度方法内核遵循下列原则和进程状态计算一个进程的优先权:1)内核根据睡眠的原因将一个固定的优先权值赋予一个即将进入睡眠的进程。较容易引起系统瓶颈的进程优先权高。如:一个睡眠等待磁盘I/O的进程比等待一个缓冲区的进程具有较高的优先权。
4.5.1传统UNIX单处理器调度方法2)内核调整内核态返回用户态的进程优先权。内核要降低该进程的优先权,因为它刚刚占用过宝贵的核心资源。3)时钟处理程序以1秒钟的间隔调整用户态下的所有进程的优先权,同时运行调度程序,以防止某个进程垄断CPU的使用。
4.5.1传统UNIX单处理器调度方法
4.5.1传统UNIX单处理器调度方法进程优先权范围示意图UNIXSVR4的调度算法同传统UNIX相比有了较大变动。设计目的是优先考虑实时进程,其次考虑内核模式进程,最后考虑用户模式进程(又称分时进程)。
4.5.1UNIX多处理器与实时调度方法与传统的UNIX调度策略相比较,UNIXSVR4的主要修改包括:(1)增加了基于静态优先数的抢占式调度,包括3类优先级层次,160个优先级。(2)插入了抢占点。在内核处理步骤之间,插入一个安全的抢占点,内核可以安全地中断处理过程并调度新进程。每个安全位置被定义成临界区,从而通过信号量加锁保证内核数据结构被一致性地修改。
4.5.1UNIX多处理器与实时调度方法在UNIXSVR4中,必须将每一个进程定义成属于三类优先级中的一类,并为其分配一个优先数。1)实时优先级层次(优先数为159-100):实时进程能利用抢占点抢占内核进程和用户进程。2)内核优先级层次(优先数为99-60):这一优先级层次的进程先于分时优先级层次进程执行,但迟于实时优先级层次进程运行。3)分时优先级层次(优先数为59-0):最低的优先级层次,进程的优先数是可变的。一般用于非实时的用户应用程序。
4.5.1UNIX多处理器与实时调度方法在Linux2.5版本之前,Linux内核运行传统的Unix调度算法。但传统的Unix调度算法不支持对称多处理器系统。在Linux2.5中,调度程序增加了对对称多处理器系统和实时系统的支持,包括处理器亲和性和负载均衡,以及提供了对公平及交互式任务的支持。
4.5.2Linux处理器调度方法Linux把进程分为普通进程和实时进程,实时进程的优先级要比普通进程的要高,Linux总是优先调度实时进程,以便满足实时进程对响应的要求。Linux使用三种调度策略,动态优先数调度SCHED_OTHER,先来先服务调度SCHED_FIFO和轮转法调度SCHED_RR。
4.5.2Linux处理器调度方法动态优先数调度策略用于普通进程,后两种调度策略用于实时进程。进程可以通过sched_setscheduler()系统调用选择适合自己的调度策略。如果选择了两种实时调度中的任何一种,该进程就转变为一个实时进程。进程的调度策略保存在进程描述符中,并且被子进程所继承。
4.5.2Linux处理器调度方法Linux系统中存在如下三种类型的调度:1)先来先服务调度SCHED_FIFO;2)时间片轮转调度SCHED_RR;3)分时调度SCHED_OTHER。
(1)实时调度
4.5.2Linux处理器调度方法先来先服务调度SCHED_FIFO:属于实时调度,先来先服务调度策略调度最早进入就绪队列的进程,该进程一直运行,直到具有更高优先级的进程进入就绪队列或当前进程结束或阻塞。如果此进程被抢占,它继续处于其优先级队列的首部。
4.5.2Linux处理器调度方法
(1)实时调度时间片轮转调度SCHED_RR:属于实时调度,在时间片轮转策略中,进程只执行一个时间片,时间片到,该进程就被加入到它所处的优先级队列的尾部。
4.5.2Linux处理器调度方法
(1)实时调度分时调度SCHED_OTHER:属于非实时调度。Linux采用了一种区分优先次序的基于优先数(credit-based)的调度算法。每个进程拥有一个确定的调度credit;选择一个新任务运行时,拥有最高credit的进程被选中。每次计时器中断发生时,当前运行进程的credit减1;当它的credit为0时,它就被暂停,系统选择另一个进程。
(1)实时调度
4.5.2Linux处理器调度方法在每一类的线程中都设置了多优先数,实时类的优先数高于SCHED_OTHER类。一般情况下,默认设置为:实时优先级类的优先数的范围是0-99(包含99),SCHED_OTHER类的范围是100-139。优先数越小,优先级越高。
(1)实时调度
4.5.2Linux处理器调度方法系统中既有分时调度,又有时间片轮转调度和先进先出调度时,调度规则如下:1)SCHED_RR调度和SCHED_FIFO调度的进程属于实时进程,以分时调度的进程是非实时进程。2)当实时进程准备就绪后,如果当前CPU正在运行非实时进程,则实时进程立即抢占非实时进程。
4.5.2Linux处理器调度方法
(1)实时调度3)SCHED_RR调度策略和SCHED_FIFO调度策略都采用实时优先级作为调度的权值标准,SCHED_RR调度策略是SCHED_FIFO调度策略的延伸。采用SCHED_FIFO调度策略时,如果两个进程的优先级一样,则这两个优先级一样的进程具体执行哪一个是由其在队列中的位置决定的。
(1)实时调度
4.5.2Linux处理器调度方法(a)线程相对优先数(c)轮转法算法调度顺序Linux实时调度的例子
(1)实时调度
4.5.2Linux处理器调度方法Linux非实时调度的目标:不论系统负载和处理器数目如何变化,选择一个合适的进程并分配给一个处理器的时间是恒定的。
(2)非实时调度
4.5.2Linux处理器调度方法系统为每个处理器维护两套调度用的数据结构1)140个活动队列:就绪的进程被放入合适的活动优先级队列,并被赋予一个合适的时间片。2)140个过期队列:完成时间片的任务被放入合适的过期优先级队列,并被赋予一个新的时间片。
(2)非实时调度
4.5.2Linux处理器调度方法当一个进程就绪的时候,将它放到合适的优先级队列,并且被赋予合适的时间片。如果一个进程在它完成它的时间片之前被抢占,则它将会返回到活动队列。当完成了它的时间片后,则它将会进入合适的过期队列并被赋予新的时间片。所有的调度都发生在活动队列的进程中。当活动队列为空的时候,执行指针赋值操作对活动队列和过期队列进行转换,调度继续进行。
(2)非实时调度
4.5.2Linux处理器调度方法每一个非实时进程都被分配一个[100,139]之间的初始优先级,默认值是120。这是任务的静态优先级并由用户指定。随着进程的执行,动态优先级根据静态优先级和执行行为进行计算。一般情况下,大部分时间在睡眠状态的进程应该拥有较高的优先级。
(2)非实时调度
4.5.2Linux处理器调度方法时间片分配的范围是10ms到200ms。和一般的调度策略不同,Linux系统中具有较高优先级的任务分配的时间片也较大。对一个给定的处理器。调度器选择具有最高优先级的非空队列。如果队列中有多个任务,任务将会以轮转方式进行调度。
4.5.2Linux处理器调度方法
(2)非实时调度Windows2000/XP处理器调度的对象是线程,也称为线程调度。Windows2000/XP被设计成在高度交互环境中或者作为服务器尽可能地响应单个用户的需求,它采用了一种优先级驱动的抢占式调度策略。在每一优先级上都包括了轮转调度方法,在某些级上,优先级可以基于当前的线程活动而动态变化。系统总是运行优先级最高的就绪线程。线程可在任何可用的处理器上运行,也可限制某线程只能在某处理器上运行。
4.5.3Windows处理器调度方法(1)线程优先级Windows2000/XP调度程序采用32级优先级方案以确定线程执行的顺序,包括多个优先级层次,在某些层次线程的优先数是固定的,在另一些层次线程的优先数将根据执行的情况动态地调整。它的调度策略是一个动态优先数多级反馈队列,每个优先数都对应于一个就绪队列,而每一个进程队列中的进程按照时间片方式轮转调度。
4.5.3Windows处理器调度方法(1)线程优先级优先级的范围从0到31。它们被分成三大类型Windows线程调度优先级
4.5.3Windows处理器调度方法(1)线程优先级调度程序为每个调度优先级创建一个队列,从高到低检查队列,直到它发现一个线程可以执行。对于可变优先级所对应的线程,它最初的优先级是由两个因素确定的:即进程的基本优先级和线程的基本优先级。进程的基本优先级可以取0-15的任意值。线程的基本优先级是指该线程相对于它的进程的基本优先级,它的值可以等于它的进程的基本优先级,或者比进程的基本优先级高2级或低2级。
4.5.3Windows处理器调度方法Windows优先级关系的例子受I/O限制的线程有比较高的优先级。交互式线程具有较高的优先级。(1)线程优先级
4.5.3Windows处理器调度方法当线程进入运行状态时,如果有多个空闲处理器,首先是线程的首选处理器(即线程运行时的偏好处理器),其次是线程的第二处理器(线程第二个选择的运行处理器),第三是当前执行处理器(即正在执行调度程序代码的处理器)。如果这些处理器都不是空闲的,系统将依据处理器标识从高到低扫描系统中的空闲处理器状态,选择找到的第一个空闲处理器。
(2)对称多处理器上的线程调度
4.5.3Windows处理器调度方法如果线程进入就绪状态时所有处理器都处于繁忙状态,系统将检查它是否可抢先一个处于运行状态或备用状态的线程。检查的顺序如下:首先是线程的首选处理器,其次是线程的第二处理器。如果这两个处理器都不在线
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026 综合岗面试考点梳理题库 含答案含解析
- 2026 综合岗事业编面试真题汇编 题库 含答案无解析
- 药店职业规划简明模板
- 消防安全辅导员工作指南
- 2026福州市第一总医院皮肤病防治院人员控制数公开招聘工作人员5人笔试参考题库及答案解析
- 2026年贵州省煤矿设计研究院人员招聘笔试参考试题及答案详解
- 网络机房综合布线巡检检查表
- 2026年中铁二十二局集团有限公司人员招聘考试备考试题及答案详解
- 2026年治多县教师招聘笔试备考题库及答案解析
- 2026年深圳市深粮控股股份有限公司人员招聘参考题库及答案详解
- 2026届新高考英语冲刺热点复习With的复合结构
- 数字营销基础(第二版)课件 2.2数字营销技术
- 2025年无人机装调检修工职业技能鉴定考试题库及答案
- 2025年注册环保工程师专业基础考试真题卷(附解析)
- 《医事法学》电子教案
- DB35T 2162-2023 基于分布式光纤传感的跨江燃气管道运行监测技术规范
- 师德师风专题讲座主题课件
- 2024年高中英语衡水体书法练字字帖
- 工业设计技术-Geomagic Design X 逆向设计实用教程 课件 项目5、6 遥控器建模、连杆建模
- 中建硅墨烯保温板外墙保温施工方案
- 第九章分类系统与进化谱系
评论
0/150
提交评论