先获得横扫千军 资源优先级和先到达系统哪个优先级更高

当前位置: >>
3.实时操作系统的内核
实时操作系统的内核在实时操作系统中最关键的部分是实时多任务内核。它 主要实现任务管理、任务间通信与同步、存储器管理、 定时器管理和中断管理等。 1 任务管理 实时操作系统中的任务与操作系统中的进程相似。它具 有独立功能的无限循环的程序段的一次运行活动。 运行的任务状态有4种: *运行态:获得CPU控制权。 *就绪态:进入任务等待队列,通过调度转为运行态。 *挂起态:任务发生阻塞,移出任务等待队列,等待系统 实时事件的发生而唤醒,从而转为就绪或运行。 *休眠态:任务完成或错误等原因被清除的任务,也可以 认为是系统中不存在的任务。 任何时刻系统中只能有一个任务在运行状态,各任务按 级别通过时间片使它获得对CPU的访问权。任务就绪 后进入就绪态,等待队列。通过调度程序使它获得 CPU和资源使用权,从而进入运行态。任务在运行时 因申请资源等原因而挂起,转入挂起态,等待运行条 件的满足。当条件满足后,任务被唤醒进入就绪态, 等待系统调度程序依据调度算法进行调度。任务的休 眠态是任务虽然在内存中,但不被实时内核所调度的 状态。 任务还有一个状态,即被中断状态,它指任务在运行态 时有中断请求到达,系统响应中断,转而执行中断服 务子程序,任务被中断后所处的状态。 多任务运行的实现是靠CPU在许多任务之间转换、调度。 CPU只有一个,轮流服务于一系列任务中的某一个。 多任务系统中,内核负责管理各个任务,并负责任务 之间的通信。内核提供的基本服务是任务切换。内核 对CPU的占用时间一般在2-5%之间。 任务要获得CPU的控制权,从就绪态进入运行态是通过 任务调度器完成的。任务调度器从当前已就绪的所有 任务中,依照任务调度算法选择一个最符合算法要求 的任务进入运行状态。任务调度算法的选择很大程序 上决定了该操作系统的实时性能,这也是种类繁多的 实时内核却无一例外选用特定的几个实时调度算法的 原因。 调度是操作系统的主要职责之一,它决定该轮到哪个任 务运行。往往调度是基于优先级的,根据其重要不同 被给于任务不同的优先级。CPU总是让处于就绪态的 优先级最高的任务先运行。何时让高优先级任务掌握 CPU的使用权,要看用的是什么类型的内核,是非抢 占式的还是抢占式的内核。 实时操作系统中常用的任务调度算法包括基于优先级的 抢占式调度算法、同一优先级的时间片轮转调度算法 和单调速率调度算法。 1.1 基于优先级的抢占式调度算法实时系统为每个任务赋予一个优先级。任务优先级在一 定程序上体现了任务的紧迫性和重要性,越重要的任 务赋予的优先级就越高。实时系统允许多个任务共享 一个优先级,通过同一优先级的时间片轮转调度算法, 完成任务的调度。 优先级调度原则是让高优先级的任务在得到资源运行的 事件上比低优先级的任务更有优先权。这保证了实时 系统中紧急的、对时间有严格限制的任务能得到更为 优先的处理,而相对不紧急的任务则等到紧急任务处 理完后才继续运行。 实时操作系统都采用基于优先级的任务调度算法。按照 任务在运行过程中是否能被抢占,可以分为抢占式调 度和非抢占式调度。 1.1.1 非抢占式调度非抢占式调度法也称为合作型多任务,各个任务彼此合 作共享一个CPU。中断服务可以使一个高优先级的任 务由挂起状态变为就绪状态。但中断服务以后控制权 还是回到原来被中断的那个任务,直到该任务主动放 弃CPU的使用权,那个高优先级的任务才能获得CPU 的使用权。 非抢占式内核的一个特点是几乎不需要使用信号量保护 共享数据。运行的任务占有CPU,而不必担心被别的 任务抢占。非抢占式内核的最大缺陷在于其响应高优 先级的任务慢,任务已进入就绪态但还不能运行,也 许要等很长的时间,直到当前运行的任务释放CPU。 内核的任务级响应时间是不确定的,最高优先级的任 务什么时候才能拿到CPU的控制权完全取决于应用程 序什么时候释放CPU。见P27图1-6。 由于其他任务不能抢占该任务的CPU控制权,如果该任务不 主动释放CPU,则势必使系统进入死锁。每个任务在设计 过程必须在任务结束时释放所占用的资源,它不能是一个 无限运行的循环。这是非抢占式内核运行的先决条件。 优点: *响应中断快。 *可使用不可重入函数。由于任务运行过程中不会被其他任 务抢占,各任务使用的子函数不会被重入,所以在非抢占 式调度算法中可以使用不可重入函数。 *共享数据方便。 任务运行过程中不被抢占,内存中的共享数据被一个任务使 用时,不会出现被另一个任务使用的情况,这使得任务在 使用共享数据时不使用信号量等保护机制。当然,由于中 断服务子程序可以中断任务的执行,所以任务与中断服务 子程序的共享数据保护问题仍然是设计系统中必须考虑的 问题。 1.1.2 抢占式调度当系统响应时间很重要时,要使用抢占式内核。最高优 先级的任务一旦就绪,总能得到CPU的控制权。当一 个运行的任务时,另一个比它优先级高的任务进入了 就绪态,当前任务的CPU使用权就被剥夺了,或者说 被挂起了,高优先级的任务立即得到CPU的控制权。 抢占式调度算法满足在处理器中运行的任务是已就绪任 务中优先级最高的任务。任务在执行过程中允许更高 的优先级任务抢占该任务对CPU的控制权。 与非抢占式调度算法不同的是当任务被中断,中断服务 子程序运行完成后,不一定返回被中断的任务,而是 执行新的任务调度,看就绪队列中是否有比被中断的 任务拥有更高优先级的任务就绪。如果有,更高优先 级的任务就调入并运该任务;否则,继续运行被中断的 任务。如P28图1-7。 抢占式调度算法的特点是任务级响应时间得到最优化, 而且是确定的,因而中断响应较快。由于任务在运行 过程中可以被其他任务抢占,所以任务不应直接使用 不可重入函数,只有对不可重入函数进行加锁保护才 能使用。同理,对共享数据的使用也需要互斥,信号 量等保护机制。绝大多数的实时内核使用基于优先级 的抢占式调度算法。 在实时系统中,使用基于优先级的抢占式调度算法时, 要特别注意对优先级反转问题进行处理。优先级反转 问题体现的是高优先级的任务等待,属于被低优先级 任务占有系统资源而形成的高优先级任务等待低优先 级运行的反常情况。如果低优先级在运行时又被其他 任务抢占,则系统运行情况会更糟。 见P28实例。 解决优先级反转的问题有优先级继承和优先级封顶两种 方法。 (1)优先级继承 优先级继承要点如下: *设C为正占用某项共享资源的进程P以及 所有正在等待占用此资源的进程的集合。 *找出这个集合中的优先级最高者P_h,其 优先级为P’。 *把进程P的优先级设置为P’。 见图P1-9。 (2)优先级封顶优先级封项要点如下: *设C为所有可能竞争使用某项共享资源的进程的集合。 事先为这个集合规定一个优先级上限P’,使得这个集 合中所有进程的优先级都小于P’。注意:P’并不一定 是整个系统中的最高优先级。 *在创建保护该项资源的信号量或互斥量时,将P’作为一 个参数。 *每当有进程通过这个信号量或互斥量取得对共享资源的 独占使用权时,就将此进程的优先级暂时提高到P’, 一直到释放该项资源时才恢复其原有的优先级。 优先级封顶是当任务申请某资源时,把该任务的优先级 提升为可访问这个资源的所有任务中的最高优先级, 这个优先级称为该资源的优先级封顶。资源的优先级 封顶在资源被创建时就确定了。见P30图1-10。 (3)优先级继承和优先级封顶的比较两种算法都改变了任务的优先级,但改变优先级 的时间和范围有所不同。 优先级继承只在占有资源的低优先级任务阻塞了 高优先级的任务运行时,才动态更改低优先级 的任务到高优先级。这种算法对应用中任务的 流程影响较小。 优先级封顶则不管任务是否阻塞了高优先级的任 务运行,只要任务访问该资源,都会提升任务 的优先级到可访问这个资源的所有任务的最高 优先级。 这两种算法各有优缺点,实际选择时根据具体情 况而定。 1.2 同一优先级的时间片轮转调度算法对于复杂、高性能的多任务实时内核(如VxWorks), 由于多个任务允许共用一个优先级,实时内核提供了 同一优先级的时间片轮转调度算法来调度同优先级的 多任务的运行。实时内核的调度器在就绪队列中寻找 最高优先级的任务运行时,如果系统中优先级最高的 任务有两个或两个以上,则调度器依照就绪的先后次 序调度第一个任务。当其执行一段特定的时间片后, 无论任务完成与否,处理器都会结束该任务的运行, 转入下一个就绪的同优先级任务。未运行完的任务释 放处理器的控制权后,放到就绪队列的末尾,等待下 一个时间片来竞争处理器。 当然,没有更高优先级的任务就绪,就应用基于优先级 的可抢占调度算法。 实时内核以轮转策略保证具有同优先级的任务相对平等 地享有CPU的控制权。 在时间片轮转算法中,时间片的大小选择会影响系统的 性能和效率。时间片太小,任务频繁进行上下切换, 实际运行程序的时间很少,系统的效率很低;时间片太 大,算法变成先进先出算法,调度的公平性就没有得 到体现。时间片的选择根据实时内核的不同而有所差 异。 1.2 单调速率调度算法 单调速率调度算法主要用于分配任务的优先级。它根据 任务执行的频率确定优先级的。任务的执行频率越高, 其优先级越高;反之,优先级越低。 1.2 任务间的通信在多任务的实时系统中,一项工作可能需要多个任务或 多个任务与多个中断处理程序(ISR)共同完成。它们 之间必须协调动作,互相配合,必要时还要交换信息。 在实时操作系统中提供了任务间的通信与同步机制以 解决这个问题。任务间的同步与通信一般要满足任务 与其他任务或中断处理程序间进行交换数据;任务能以 单向同步和双向同步方式与另一个任务或中断处理程 序同步处理;任务必须能对共享资源进行互斥访问。 1.2.1 任务间的通信 任务间的通信有两种方式:共享数据结构和消息机制。 1.2.1.1 共享数据结构实现任务间通信的最简单方法是共享数据结构。共享数 据结构的类型可以是全局变量、指针、缓冲区等。在 使用共享数据结构时,必须保证共享数据结构使用的 排它性;否则,会导致竞争和对数据时效的破坏。因此, 在使用共享数据结构时,必须实现存取的互斥的机制。 实现互斥比较常用的方法有:开/关中断、设置测试标 志位、禁止任务切换以及信号量机机制等。 *开/关中断实现互斥指在进行共享数据结构的访问时先进 行关中断操作,在访问完成后再开中断。 *设置测试标志位方法指在使用共享数据的两个任务间约 定时,每次使用共享数据前都要检测某个事先约定的 全局变量。如果变量为0,则可读写,若为1,则不能。 *禁止任务切换指在进行共享数据的操作前,先禁止任务 的切换,操作完成后再解除任务禁止切换。这种方式虽 然实现了共享的互斥,但是实时系统的多任务切换在此 时被禁止,有违多任务的初衷,应尽量少使用。 *信号量在多任务的实时内核中的主要作用是用做共享数 据结构或共享资源的互斥机制,标志某个事件的发生, 以及同步两个任务。信号量有两种:二进制信号量和计 数信号量。 1.2.1.2 消息机制 任务间的另一种通信方式是使用消息机制。任务可以通过 系统服务向另一个任务发送消息。消息通常是一个指针 变量,指针指向的内容就是消息。消息机制包括消息邮 箱和消息队列。 *消息邮箱通常是内存空间的一个数据结构。 *消息队列实际上是一个邮箱阵列,在消息队列允许存放 多个消息。对消息队列的操作和对消息邮箱的操作的操 作基本相同。 1.2.1 任务间的同步任务同步中也常常使用信号量。与任务通信不同的是, 信号量的使用不再作为一种互斥机制,而是代表某个 特定的事件是否发生。任务的同步有单向同步和多向 同步两种。 *单向同步:标志事件是否发生的信号量初始化为0。一 个任务在等待某个事件时,查看该事件的信号量是否 为非0。另一个任务或中断处理程序在进行操作时,当 该事件发生后,将该信号量置为1。等待该事件的任务 查询到信号量的变换,代表事件已经发生,任务继续 自身的运行。 *双向同步:两个任务之间可以通过两个信号量进行双向 同步。双向同步有两个初始化为0的信号量,每个信号 量进行一个方向的任务同步,两个信号的同步方向是 相反的。 1.3 存储器管理存储器管理是提供对内存资源的合理分配和存储保护功能。 由于其应用环境的特殊性,实时内核的存储管理与一般操 作系统的存储管理存在着很大的差异。 通常的操作系统,资源充足,实时要求不高,其内核主要考 虑提供更好的性能和安全机制。所以引入的是虚拟存储器 管理。 嵌入式实时操作系统的存储管理相对较为简单。由于虚拟存 储器中经常要对页进行换入换出操作,所以内存中页命中 率和换入换出所耗费的时间严重破坏了整个系统的确定性。 这种存储机制不能提供实时系统所要求的时间确定性,对 于大多数嵌入式实时应用来说,响应和运行时间的确定是 至关重要的。对于实时应用,一个失去时效的正确结果与 错误结果没有什么本质的不同,所以实时内核一般不采用 虚拟内存管理。 在大多数嵌入式实时操作系统中,内核把内存分成多个空间 大小不等的分区,每个内存分区又分为许多大小相同的块。 1.4 定时器和中断管理实时内核要求为用户提供定时中断以完成延时与超时控 制等功能。实时系统中时钟用来产生周期性的时钟节 拍信号。时钟节拍一般为10-100次/秒之间。 一个时钟节拍(Tick)值是用户应用系统的最小时间单位。 若用户定义Tick为20ms时,系统的时钟节拍为50Hz。 系统每隔20ms,实时时钟就会产生一个硬件中断,通 知系统执行与定时或等待延时相关的操作。 实时时钟管理提供对绝对日期的支持。 实时内核的中断管理与一般的操作系统内核的中断管理 大体相同。中断管理负责中断的初始化、现场的保护 和恢复、中断栈的嵌套管理等。 嵌入式技术发展现状及趋势发展趋势: *经济性 *小型化 *高速度 *智能性 嵌入式系统是将先进的计算机技术、半导体技术、 电子技术和各个行业的具体应用相结合后的产 物,这决定了它必然是一个技术密集、资金密 集、高度分散和不断创新的知识集成系统。所 以,介入嵌入式系统行业,必须有一个正确的 定位。
更多搜索:
All rights reserved Powered by
文档资料库内容来自网络,如有侵犯请联系客服。以下试题来自:
单项选择题有5个批处理任务A、B、C、D、E几乎同时到达一计算中心。其预计运行时间分别为10、6、2、4和8分钟。其优先级(由外部设定)分别为3、5、2、1和4,这里5为最高优先级。下列各种调度算法中,其平均进程周转时间为14分钟的是______。A.时间片轮转B.优先级调度C.先来先服务D.最短作业优先
为您推荐的考试题库
你可能感兴趣的试题
1A.就绪状态、挂起状态和执行状态B.挂起状态、阻塞状态和执行状态C.就绪状态、执行状态和阻塞状态D.就绪状态、执行状态和终止状态2A.Ⅰ、Ⅱ和ⅢB.Ⅰ、Ⅱ和ⅣC.Ⅰ、Ⅲ和ⅣD.Ⅱ、Ⅲ和Ⅳ3A.多个终端都能得到系统的及时响应B.先来先服务C.优先级较高的进程得到及时响应D.需要CPU最短的进程先做4A.资源分配不当B.系统资源不足C.作业调度不当D.进程调度不当5A.2B.3C.4D.5
热门相关试卷
最新相关试卷一种TD-LTE集群通信系统中资源调度的方法技术方案
一种TD-LTE集群通信系统中资源调度的方法,所述方法包括:根据呼叫优先级、业务绝对优先级和业务相对优先级确定数据业务的优先级因子;按照从大到小的顺序排序所述优先级因子,将资源块依据分配给所述优先级因子对应的数据业务;所述呼叫优先级由所述业务的类型确定,所述业务绝对优先级是由具体系统需求确定的,所述业务相对优先级是由系统需求确定的。应用本发明专利技术实施例后,能够保证系统内重要通信业务优先获得通信资源,并在负载较重时及时传送重要通信业务。
微信扫一扫分享本专利技术到微信朋友圈,让更多的人了解这个技术。
技术实现步骤摘要
一种TD-LTE集群通信系统中资源调度的方法本申请涉及通信,更具体地,涉及一种TD-LTE集群通信系统中资源调度的方法。技术介绍TD-LTE技术是新一代宽带移动通信无线接入技术,与现有2G、3G移动通信系统的无线接入技术相比,其具有传输速率高、传输时延小、高业务的服务质量(QoS)保证等特点。在现有的TD-LTE技术上,增加集群业务的特性,实现TD-LTE宽带数字集群通信系统是集群通信系统的发展方向。基于TD-LTE技术的宽带数字集群通信系统围绕“语音”、“数据”、“视频”这三个基本服务来构建各种应用,具体包括可视组呼、多媒体集群调度、移动执法、协同办公、城市应急联动、视频监控、宽带物联数据接入等业务。由于宽带集群基站设备和终端设备需要承载多种类型的集群业务,不仅要考虑系统吞吐量及容量的最大化,更要保证高优先级请求得到优先和可靠处理。为了实现集群组呼业务快速呼叫建立,针对点对多点业务的特性,在TD-LTE技术的基础上修改空中接口方案,增加新的逻辑信道和传输信道,具体包括如下:1、集群组呼下行逻辑信道1)集群寻呼控制信道(TPCCH)为点到多点的寻呼中,一个集群组的UEs的下行寻呼信道,该信道携带组呼寻呼信息。2)集群控制信道(TCCH)为点到多点的为一个集群组的UEs传输控制信息的下行信道,该信道携带集群呼叫建立、呼叫释放、话语权通知等控制信息。3)集群业务信道(TTCH)为点到多点的为一个集群组的UEs传递业务信息的下行信道,该信道传递集群点对多点业务数据。2、传输信道根据集群寻呼控制逻辑信道的特点,增加承载集群寻呼控制逻辑信道的传输信道,...【详细说明在详细技术资料中】
技术保护点
一种TD-LTE集群通信系统中资源调度的方法,其特征在于,所述方法包括:根据呼叫优先级、业务绝对优先级和业务相对优先级确定数据业务的优先级因子;按照从大到小的顺序排序所述优先级因子,将资源块依据分配给所述优先级因子对应的数据业务;所述呼叫优先级由所述业务的类型确定,所述业务绝对优先级是由具体系统需求确定的,所述业务相对优先级是由系统需求确定的。
技术保护范围摘要
1.一种TD-LTE集群通信系统中资源调度的方法,其特征在于,所述方法包括:根据呼叫优先级、业务绝对优先级和业务相对优先级确定数据业务的优先级因子;按照从大到小的顺序排序所述优先级因子,将资源块依据分配给所述优先级因子对应的数据业务;所述呼叫优先级由所述业务的类型确定,所述业务绝对优先级是由具体系统需求确定的,所述业务相对优先级是由系统需求确定的;所述根据呼叫优先级、业务绝对优先级和业务相对优先级确定数据业务的优先级因子包括:呼叫优先级对应的第一比特数占用所述优先级因子的高比特位,业务绝对优先级对应的第二比特数占用所述优先级因子的中间比特位,业务相对优先级对应的第三比特数占用所述优先级因子的低比特位;所述业务绝对优先级是由具体系统需求确定的包括:所述业务绝对优先级按照具体系统需求要求优先级从高到低的排序为:公共控制信道CCCH业务、集群控制信道TCCH业务、QoS等级指示QCI=5的业务、专用控制信道DCCH业务、集群组呼语音业务、集群组呼视频业务、新接入的集群单呼语音业务、集群单呼视频业务、半持续调度SPS重传业务、动态调度DS重传业务、媒体接入控制MAC控制单元业务、边缘用户不满意保证比特速率GBR业务、中心用户不满意GBR业务、边缘用户不满意非保证比特速率non-GBR业务、中心用户不满意non-GBR业务、边缘用户满意GBR业务、中心用户满意GBR业务、边缘用户满意non-GBR业务和中心用户满意non-GBR业务;所述业务相对优先级是由系统需求确定的包括:所述业务相对优先级是由用户的信道质量、业务满意度和QCI特性确定的。2.根据权利要求1所述TD-LTE集群通信系统中资源调度的方法,其特征在于,所述呼叫优先级由所述业务的类型确定包括:设置所有信令业务的呼叫优先级为最大值;在E-RAB建立请求消息中有优先权信息,则根据优先权信息对应的比特值设置呼叫优先级;在E-RAB建立请求消息中没有优先权信息,则设置非集群业务的呼叫优先级为最小值。3.根据权利要求2所述TD...
专利技术属性
发明(设计)人:,,
申请(专利权)人:,
专利类型:发明
国别省市:北京;11
专利技术项目评估
对专利感兴趣?请拨打022-(工作日)(24小时)咨询
相关技术资料
集群资源管理与调度专利,数字集群通信系统专利,pdt数字集群通信系统专利,集群通信系统专利,无线集群通信系统专利,350m集群通信系统专利,模拟集群通信系统专利,警用数字集群通信系统专利,数字无线集群通信系统
资源调度通信系统通信业务优先级因子LTE
暂无相关信息暂无相关信息
上一篇:下一篇:任务调度优先级_百度百科
声明:百科词条人人可编辑,词条创建和修改均免费,绝不存在官方及代理商付费代编,请勿上当受骗。
任务调度优先级
是指计算机操作系统给任务指定的优先等级。它决定任务在使用资源时的优先次序。②给设备指定的优先等级。它决定设备在提出中断请求时,得到处理机响应的先后次序。任务调度优先级主要是指任务被调度运行时的优先级,主要与任务本身的优先级和有关。特别在实时系统中,任务调度优先级反应了一个任务重要性与紧迫性。
任务调度优先级简介
是操作系统的重要组成部分,而对于实时操作系统,任务调度直接影响其实时性能。任务调度方式常规可分为:可打断调度(实时系统基本功能):关键防止优先级倒置;不可打断调度:先来先服务,不可中断。任务调度优先级即操作系统赋予任务的优先数,用于决定任务调度的先后顺序。任务调度优先级不仅与任务调度方式有关,还有与优先级的类型和调度算法有关。
任务调度优先级优先级的类型
每个进程都有相应的,优先级决定它何时运行和接收多少 CPU 时间。Windows的优先级共 32 级,是从 0 到 31 的数值,称为基本优先级别(Base Priority Level)。系统按照不同的优先级调度进程的运行,0-15 级是普通优先级,进程的优先级可以动态变化,高优先级进程优先运行,只有高优先级进程不运行时,才调度低优先级进程运行,优先级相同的进程按照轮流运行。16-31 级是实时优先级,实时优先级与普通优先级的最大区别在于相同优先级进程的运行不按照,而是先运行的进程就先控制 CPU,如果它不主动放弃控制,同级或低优先级的进程就无法运行。Linux系统的优先级从0-140,0-99表示实时进程,100-140表示非实时进程,与Windows相反,Linux优先级值越小,意味着级别越高,任务优先被内核调度。
任务调度优先级静态优先级
静态优先权是在创建进程时确定的,且在进程的整个运行期间保持不变。一般地,优先权是利用某一范围内的一个整数来表示的,例如,0~7 或 0~255 中的某一整数,又把该整数称为优先数,只是具体用法各异:有的系统用“0”表示最高优先权,当数值愈大时,其优先权愈低;而有的系统恰恰相反。确定进程优先权的依据有如下三个方面:
(1)进程类型。通常,系统进程(如接收进程、对换进程、磁盘 I/O 进程)的优先权高于一般用户进程的优先权。
(2)对资源的需求。如进程的估计执行时间及内存需要量的多少,对这些要求少的进程应赋予较高的优先权。
(3) 用户要求。这是由用户进程的紧迫程度及用户所付费用的多少来确定优先权的。静态优先权法简单易行,系统开销小,但不够精确,很可能出现优先权低的作业(进程)长期没有被调度的情况。因此,仅在要求不高的系统中才使用静态优先权。
任务调度优先级动态优先级
动态优先权是指在创建进程时所赋予的优先权,是可以随进程的推进或随其等待时间的增加而改变的,以便获得更好的调度性能。例如,我们可以规定,在就绪队列中的进程,随其等待时间的增长,其优先权以速率 a 提高。若所有的进程都具有相同的优先权初值,则显然是最先进入就绪队列的进程将因其动态优先权变得最高而优先获得处理机,此即FCFS 算法。若所有的就绪进程具有各不相同的优先权初值,那么,对于优先权初值低的进程,在等待了足够的时间后,其优先权便可能升为最高,从而可以获得处理机。当采用抢占式优先权调度算法时,如果再规定当前进程的优先权以速率 b 下降,则可防止一个长作业长期地垄断处理机。[1]
任务调度优先级任务调度算法
任务调度算法可分为:
事件驱动调度算法:根据事件的先后以及任务的优先级安排任务的执行。如先来先服务调度算法。
时钟驱动调度算法:一般用于周期任务。如基于时间片的轮转调度算法,。
事件驱动调度:依赖外部硬件设备,通过产生中断方式为任务调度提供信号。分两种,集成事件驱动调度:中断的优先级与任务的优先级相对应,中断只有在其优先级高于正在执行的任务时才会被处理器响应。 非集成事件驱动调度:任务通过外部中断启动,中断优先级与相关任务优先级没有关系。
任务调度优先级一种基于调度粒度的任务优先级计算方法
任务调度优先级背景
近些年来,多核处理器快速发展的同时,也给任务调度带来了新的挑战,如何利用 高效的任务调度策略使多核处理器系统充分发挥其性能,已经是我们必须要解决的问题。 动态任务调度可以根据运行时情况动态地将任务分配到各个内核上,由于需要实时地收 集、存储并分析状态信息,动态调度的实施有一定的系统开销,但这种开销和付出通常是有 回报的。
比较经典的调度算法有Min-Min、Max-Min、MCT(Minimum Completion Time)、 MET(Minimum Execution Time)等算法。Min-Min算法实现简单,执行时间较快。算法的思想是比较所有待调度的任务,优先选取最早完成时间最小的一个任务进行调度。缺点是如果任务集中存在过多执行时间比较小的任务,那么时间比较大的任务将无法得到及时执行。Max-Min算法类似于Min-Min算法,不同的是Max-Min算法首先调度最早完成时间最大的任务。缺点是完成时间较小的任务等待时间过长,影响执行效率,也可能造成负载不均衡。
任务调度优先级步骤
将任务分配到最合适的处理器内核上是任务调度的核心问题,而任务优先级计算是任务分配的关键,任务优先级表明任务被优先调度的程度,因此本发明方法在计算任务 优先级时引入调度粒度,用来决定调度过程分配的任务数量,进而决定调度频度。
(1)确定任务优先级
计算任务相对于一个确定内核的优先级Tipk,取所有内核上的最大值作为任务优 先级Tip:
m为内核数量,Tipk表示任务Ti相对于内核Pk的优先级;
(2)设定调度粒度
在计算任务1\相对于一个处理器内核P的任务优先级时,设定调度粒度,其中处 理器内核P的调度粒度定义为一次调度过程中为处理器内核P分配的任务数量,一次调度 过程是指一个处理器内核请求调度;调度算法为其分配任务的过程中,调度的任务数量等 于为每个处理器内核分配的任务数量之和,调度粒度为:
Ik=l*spkm-1
其中Ip表示处理器内核P的调度粒度,1表示粒度因子,spp表示处理器内核P的 处理速度;
(3)任务优先级计算细化
计算一个任务在所有处理器内核上的任务优先级Tip及任务等待时间和任务间通 信开销因素:
其中PW1代表任务Ti的等待时间,PC1P代表平均通信开销,Ip代表内核P的调度粒 度,Cip表示任务Ti的通信开销;t表示当前时间,Tlt表示任务就绪时间。
任务调度优先级总结
本发明方法首先计算一个 任务在所有内核上的任务优先级,然后取其在所有处理器内核上任务优先级的最大 值作为该任务的优先级,在任务调度时优先调度任务优先级大的任务。在计算任务相对于 一个确定处理器内核的任务优先级时,综合考虑任务等待时间、任务间通信开销和调度粒度因素,其中任务等待时间因素可避免存在就绪任务长时间不被调度的现象;同时计算任务间的平均通信开销,可以将通信开销大的任务分配到相应的处理器内核上,以节省更多 的任务间通信开销;同样调度粒度通过粒度因子和处理器内核的处理速度来调节大小,对 于一个实际的处理器系统,处理器内核速度是确定的已知量,其中粒度大小要根据系统模 型而定,它起到将处理器内核的计算速度转换为处理器内核的调度任务数量的作用,结合 三种因素计算任务优先级可充分发挥任务调度优势,提高处理器效率,从而降低调度频率, 减少调度消耗时间。[2]
汤小丹.计算机操作系统:西安电子科技大学出版社,2010
.patents[引用日期]
本词条内容贡献者为
太原师范学院计算机系

我要回帖

更多关于 横扫千军 资源优先级 的文章

 

随机推荐