嵌入式及时零碎义务内调理的战略和完成_欧博娱乐
以后地位:第一欧博娱乐站论文盘算机盘算机实际 → 论文
文章注释

嵌入式及时零碎义务内调理的战略和完成

文章分类:盘算机 - 盘算机实际 宣布工夫:2016-8-27 10:52:28 作者:周建光1 李 鹏

盘算机实际:嵌入式及时零碎义务内调理的战略和完成是由第一欧博娱乐站(www.fanwenz.com)为您经心搜集,盼望这篇嵌入式及时零碎义务内调理的战略和完成论文可以给您带来协助,假如以为好,请把这篇文章复制到您的博客或通知您的冤家,以下是嵌入式及时零碎义务内调理的战略和完成的注释:

摘  要  引见了义务内调理的战略和完成,其应用嵌入式及时零碎的义务调理机制和音讯行列步队结构以历程为单元的二级调理战略,支持用形态、信号描绘的SDL历程的C顺序言语编程构造。它的精简和高效,对进步处置才能和零碎全体功能有严重意义。     要害字  义务调理;  VxWorks;  历程;  音讯行列步队       1  弁言     嵌入式及时零碎提供的义务调理使用在一些大型的零碎,如挪动通讯零碎中需求同时处置成百上千的呼唤树立、呼唤撤除以及其他种种效劳,仅仅停止义务间调理,将发生频仍的义务间切换,形成义务栈的开支太大,服从分明低落,不契合通讯及时性的要求。义务内调理应用嵌入式及时零碎的义务调理机制和音讯行列步队结构的二级调理可以无效的进步零碎通讯的服从。

2  义务调理的范围性

    嵌入式及时操纵零碎提供了十分灵敏的义务调理机制,以VxWorks为例,Wind内核接纳基于优先级的抢占式调理法作为它的缺省战略,同时它也提供了轮转调理法,同优先级的多少义务间又可以基于工夫片停止调理[1]。每个义务都被分派肯定的以数字方法表现的优先级,通常从0到255。操纵零碎总是每次调理优先级最高的停当义务实行,低优先级的停当义务只要在高优先级的义务都处于壅闭态时才无机会被调理运转。义务是可被抢占的,一个可被争先的低优先级义务在运转时将被一个方才从壅闭态醒来的高优先级义务所抢占。假如义务任务在工夫片方法,某一个停当义务也可以争先别的一个优先级相反但工夫片曾经用尽的运转义务[2]。     义务调理将调理题目全部交给操纵零碎内核,应该说是最省事最平安的一种办法,但是由于零碎资源的限定,支持的义务数无限,这种方法在某些软件庞大度不高的产物中是可行的。而在一些大型的零碎如挪动通讯零碎中,由于同时能够要处置少量的包罗曾经建链的、正在建链的和正在拆链的呼唤,这些要同时处置的呼唤数目能够是几百个,也能够到达几千个,此时义务间需求频仍切换,形成义务栈的开支太大,因而服从并不是很高,在这种状况下仅接纳义务调理是远远不克不及满意要求的。因此在义务调理(一级调理)的根底之上持续构建以历程为单元的二级调理就非常须要了。固然随着嵌入式及时操纵零碎功能的改进、CPU速率的进步,这个题目能够会逐步弱化。

3  二级调理的机制

3.1  义务与历程之间的干系

    调理义务之间的切换由义务优先级决议,低优先级义务不克不及抢占高优先级义务,只要高优先级义务进入壅闭形态,低优先级义务才无机会运转,整个进程由操纵零碎来完成调理。二级调理即历程调理以调理义务为运转载体,便是要应用嵌入式及时操纵零碎的义务调理机制和音讯行列步队结构本人的以历程为单元的二级调理战略,调理义务依据历程音讯的范例和所处的运转形态对历程停止调理。历程调理支持用形态、信号来描绘的SDL历程的C顺序言语编程构造,具有差别优先级的调理义务辨别调理多少个完成差别功用、有差别时延要求的历程运转,并完成历程的二级调理。历程的优先级别取决与义务的优先级,差别义务下的历程具有差别的优先级。统一义务下的历程具有相反的优先级,在运用优先级作为调理战略的零碎中,每每对很多具有相反优先级的历程接纳先来先效劳调理算法(FCFS) [3]。因而在每个调理义务下,历程接纳FCFS算法,只要在运转历程交出控制权,别的历程才干停止处置。历程与调理义务之间的干系如图1所示。     义务由VxWorks依据义务的优先级和义务以后所处的形态(停当、壅闭、运转)停止调理,调理义务从义务控制块和历程控制块中取得调理历程运转时所需的有关数据。历程也有三种运转形态:停当态、壅闭态、运转态。因而每个调理义务就有三个行列步队:停当历程行列步队、壅闭历程行列步队、运转历程行列步队,这三个行列步队辨别用来指示该调理义务下处于差别运转形态的历程[2]。它的形态在音讯鼓励下可以互相转换,如图2所示。

图1 历程与义务之间的干系


图2 历程形态转换

3.2  历程的组成

    每个历程是由多少函数代码、一个货仓区、一个静态数据区、一个音讯行列步队和一个历程上下文中心数据构造,即历程控制块(PCB)构成。之以是每个历程都有一个音讯行列步队的缘由,是由于假如一个义务下的一切历程共用一个音讯行列步队(可用VxWorks的音讯行列步队完成),则只能在音讯行列步队上从前到后取音讯,假如延续有几个音讯同属于一个历程,则能够使别的历程的处置滞后,不契合统一义务下差别历程间的公道调理准绳。历程的PCB、货仓和静态数据区随历程的静态创立而创立、随历程的静态删除而开释。历程的代码实践上是用形态、信号所描绘的SDL历程的C顺序言语完成。     历程作为无限形态机的聚集体,其运转进程本质上是由一个形态机到别的一个形态机的迁徙进程,迁徙的缘由是内部信号(音讯)的鼓励。任何时辰,历程总是在某个形态机上等候某个特定的信号,收到信号并做相应的处置后又迁徙到另一形态机。在新形态机上,又反复开端了信号的等候。历程主处置函数的实行进程用SDL图描绘如图3所示。

图3 历程挪用实行进程的SDL描绘

4  二级调理的完成

    每个调理义务创立一个VxWorks定长音讯行列步队,义务被创立后就有限循环运转,不时从本人要处置的音讯行列步队中取音讯,假如义务下一切历程的音讯行列步队都为空,义务在其所操纵的VxWorks音讯行列步队上等候音讯,此时,VxWorks令该义务壅闭,直到在其所等候的音讯行列步队上有一个音讯到来时,VxWorks才叫醒该义务,这种战略使别的被低优先级调理义务所调理的历程取得运转时机[2]。     当一个调理义务被VxWorks调理运转后,该义务将从其所操纵的VxWorks音讯行列步队上取得音讯,并把取到的音讯指派给相应的历程,同时把壅闭且取得音讯的历程放就任务的历程停当行列步队尾部,然后开端循环调理历程的实行[3]。调理义务每次调理历程停当行列步队中的第一个历程,当将被调理的历程是由于同步音讯曾经应对或延时曾经到时而被叫醒时,调理义务将控制转移到保管在历程货仓中的指令地点;不然,假如历程音讯行列步队头上的是一条新音讯,调理义务根据历程音讯行列步队头上的音讯和PCB中的数据为历程的主处置函数通报相应入口参数,并从主处置函数的第一条语句开端实行。
    历程根据入口参数取得以后音讯,完成对使用层的通用内部接口挪用和VxWorks的接口函数挪用后,挪用“加入历程”内部接口函数告诉调理历程曾经完成了一次音讯处置,并将控制前往给挪用义务。控制权前往

[1] [2]  下一页

关于本站  |  网站协助  |  告白合作  |  免责声明  |  友谊链接  |  网站舆图
第一欧博娱乐站 CopyRight © 2011-2020 www.fanwenz.com All Rights reserved. 备 案 号:鄂ICP备12012049号 未经受权制止复制或树立镜像 违责必究