面向实时嵌入式操作系统的进程机制.pdf

上传人:qwe****56 文档编号:74665604 上传时间:2023-02-27 格式:PDF 页数:6 大小:468.30KB
返回 下载 相关 举报
面向实时嵌入式操作系统的进程机制.pdf_第1页
第1页 / 共6页
面向实时嵌入式操作系统的进程机制.pdf_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《面向实时嵌入式操作系统的进程机制.pdf》由会员分享,可在线阅读,更多相关《面向实时嵌入式操作系统的进程机制.pdf(6页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第3 6 卷第1 5 期计算机工程2 0 1 0 年8 月V o L 3 6N o 1 5C o m p u t e rE n g i n e e r i n gA u g u s t2 0 1 0软件括!术与赘【捶;库文章编号tl 0 0 0 一-3 4 2 8(2 0 l o)1 S-0 0 s l 0 4文献标识码:A中图分类号。N 9 4 5面向实时嵌入式操作系统的进程机制周昕1,傅叠1,黄海伦2(1 重庆大学软件学院,重庆4 0 0 0 4 4;2 中兴通讯股份有限公司,深圳5 1 8 0 0 4)蓑要:面向通信领域的嵌入式程序必须在资源受限的硬件环境中应对不断增加的通信业务,单纯依

2、靠商用嵌入式操作系统的任务机制已不能提供足够的业务并行度和吞吐量。针对该|日J 题,基于嵌入式操作系统任务机制提出一种更小粒度的进程解决方案,相对于任务对象,使用进程作为执行单元不仅内存资源占用少,且进程之间切换速度快,系统可以支持大量进程并行。该进程机制能够提供有效的系统监测和故障诊断手段,从而保证系统的健壮性。关健谓:嵌入式系统;任务;进程;并行处理P r o c e s sM e c h a n i s mf o rE m b e d d e dR e a l-t i m eO p e r a t i n gS y s t e mZ H O UX i n l F UL i l H U A

3、 N GH a i i u n 2(1 S c h o o lo f S o f t w a r eE n g i n e e r i n g,C h o n g q i n gU n i v e r s i t y,C h o n g q i n g4 0 0 0 4 4;2 Z h o n g x i n gT e l e c o m m u n i c a t i o nE q u i p m e n tC o L t d,S h e n z h e n5 1 8 0 0 4)A b s t r a c t E m b e d d e ds o f t w a r eo ft e l e

4、 c o m m u n i c a t i o na r e am u s td e a lw i t hi n c r e a s i n gc o m m u n i c a t i n gb u s i n e s s e su n d e rr e s t r i c t e dh a r d w a r ee n v i r o n m e n t,a n do n l yd e p e n d i n go nt h et a s km e c h a n i s mo fc o m m e r c i a le m b e d d e do p e r a t i n gs y

5、 s t e mc a n ts u p p l ye n o u g hp a r a l l e lp r o c e s s i n ga b i l i t ya n dt h r o u g h p u ta n ym o r e T os o l v et h ep r o b l e m,t h i sp a p e rp r o p o s e san e ws o l u t i o ns c h e m e,i nw h i c ht h es m a l l e re x e c u t i n gu n i t sc a l l e dp r o c e s sa r

6、ed e s i g n e da n ds c h e d u l e db a s e do nt a s k s C o m p a r e dw i t ht a s k s,p r o c e s s e so c c u p yl e s sm e m o r ya n dc o s tl e s st i m et ob es w i t c h e d,S Os y s t e mC a ns u p p o r tl a r g en u m b e ro fr u n n i n gp r o c e s s e s I tp r o v i d e se f f e c

7、t i v ew a y so nm o n i t o r i n gs y s t e mr e s o u r c e sa n dd i a g n o s i n gs y s t e mf a i l u r e s,w h i c hb r i n g sr o b u s t n e s s K e yw o r d s le m b e d d e ds y s t e m;t a s k;p r o c e s s;p a r a l l e lp r o c e s s i n g1 概述通信领域要求嵌入式环境下的应用程序具备较高的并行处理能力,由于目前主流商用嵌入式操作

8、系统如p S O S、v x W o r k s 等只支持以任务为最小执行单元的应用,因此要提高程序并行处理能力就必须创建足够多的任务。问题在于维护一个任务对象需要耗费较多的内存和C P U 资源,尤其是任务切换带来的时间开销已经逐渐成为性能瓶颈。此外,由于缺少对任务对象本身和它使用的系统资源进行监控的手段,导致系统异常难以定位,如堆栈溢出、异常死循环、消息队列出错等,直接影响到系统的稳定性和可靠性。基于进程和线程机制的L i n u x 操作系统可以解决业务并行处理问题,但在实时性和稳定性方面不如商用嵌入式操作系统成熟。综合通信行业的特殊需求以及L i n u x 操作系统并行处理的优点,本

9、文在任务机制的基础上实现了一种更细粒度的可执行单元,暂取名为进程。由于对进程的操作不涉及内核态行为,因此使用起来比任务更加高效、安全和可控。进程解决方案可在系统资源受限的环境下有效提商系统并发处理能力和系统资源可监控性。2 相关原理在主流商用嵌入式操作系统里,任务是占有系统资源的最小执行单元和调度对象。它生存于系统提供的一个虚拟、孤立的环境之中,使用或等待系统资源,无需考虑其他任务。多数嵌入式操作系统采用基于优先级抢占的任务调度机制,以满足实时性的需求。本文提出的进程实质上相当于子任务,它挂在操作系统的任务对象之下,是比任务更小粒度的执行单元。因为进程不是操作系统内核对象【2 j,所以没有任何

10、系统调用提供对进程的操作。因此,基于操作系统已有的任务调度机制,本文设计了进程级的调度,以提供对进程行为的控制和状态的切换。定义一个管理若干进程的任务为调度任务,进程受调度任务直接调度,在最上层进程和任务受调度管理模块统一管理。进程之间、进程与任务之间的通信由通信管理模块完成,实现了基于处理器的点对点、组播、广播等通信模式。2 1 迸程状态和行为本文的进程定义为一块代码段和它的执行线索以及独立的消息队列、数据区和栈。进程控制块(P C B)来记录进程当前的所有信息。进程有且仅有就绪、运行、阻塞3 种状态:(1)就绪(R e a d y),进程的消息队列里有消息,等待获取C P U资源;(2)运

11、行(R u n n i n g),进程正在使用C P U 处理指令;(3)阻塞(B l o c k),进程正在等待消息或某种资源。进程由一种状态向另一种状态的跃迁通过消息机制来驱动,3 种状态之基金项目:国家“8 6 3”计划基金资助项目“面向通信行业的嵌入式软件开发平台”(2 0 0 2 A A l Z 2 3 0 6)作者倚介:周昕(1 9 8 4-),男,硕士,主研方向:软件工程,嵌入式操作系统;傅鹂,教授;黄海伦,工程师、硕士收稿日期:2 0 0 9-1 2 2 0E-m a i l:z x c y 2 0 0 3 1 2 6 c o m一5 l 一万方数据间的跃迁过程如图1 所示。创

12、建死亡朋1 进程状态跃迁过程调度任务负责控制进程状态的切换,且通过操作就绪进程队列和阻塞进程队列管理该任务下的所有进程,2 个队列均采用F I F O 排队规则。同一调度任务下最多只能有一个进程处于运行状态。进程创建后进入启动状态,完成一系列的初始化工作后进入就绪队列。调度任务从就绪队列头摘取进程,将控制权交给进程,进程在消息激励下进行处理,完成状态跃迁,最后把控制权交还给调度任务。如果该进程消息队列没有任何消息,则被挂到阻塞队列尾,否则挂到就绪队列尾,然后从就绪队列头摘取新的进程。如果没有就绪进程,调度任务负责从任务消息队列中提取消息,派发到目的进程的消息队列尾,同时把目的进程从阻塞队列摘除

13、,置入就绪队列尾;若任务消息队列为空则阻塞任务。调度任务派发消息后,继续调度就绪进程。调度任务重复这样的过程,保证每个进程都有平等的运行机会。2 2 进程堆栈操作为了保证调度任务和进程之问尽量低耦合,采用了独立的进程堆栈,即每个进程都有一块独立的堆栈空间。为了实现这一功能,在开始进程调度前要保存其栈指针,调度结束时要返回该指针。当进程运行完毕时需要将C P U 的控制权交还给调度任务,由调度任务重新调度,在进程交还控制权的时候需要对进程堆栈进行处理,分为2 种情况:(1)正常返回。进程处理完事件后正常返回,此时进程需要取出调度任务堆栈指针,然后恢复调度任务之前的运行环境,让调度任务继续运行。(

14、2)非正常返回。进程在处理事件过程中被更高优先级的任务或者中断抢占后返回,此时需要获取调度任务堆栈指针,恢复调度任务之前的运行环境,然后,保存当前进程运行环境及堆栈,从而在下一次获取C P U 控制权的时候可以继续执行。由于对进程堆栈的操作和C P U 类型以及操作系统相关,因此需要针对不同类型C P U 和操作系统分别提供保存和恢复进程堆栈的指令,图2、图3 是基于X 8 6 架构C P U 的W i n N T操作系统对进程堆栈的操作。一5 2 一m a s mp u s he a xa s m m 曲e b xa s mp u s he c xa s mp u s h 哦a a 础e g

15、 la _ s r f lp u s he d ia 女n l e ac a x,S U F 兀XA D D Ra s mp u s hr c l一n w S t a d c e s p保存通用寄存器保存返回地址保存进程栈圈2 保存进程堆栈擐作m a s mm o ve s p,S t a c ka r e ta s mS U F F I X _ A D D Ra s mp o pe b pa s mp o pe d ia s m p o pe ma s mp o pe d aa p o pe C X聱m p o Pe b x一“m p o pe a x恢复进程栈弋。恢复通用寄存器圈3 恢复进

16、程堆栈操作目前主要实现了X 8 6 下的W i n N T 以及A R M、P P C 系列C P U 下的p S O S、v x W o r k s、L i n u x 操作系统的进程堆栈操作。2 3 进程调度模型一个进程只受某一个调度任务的调度,即进程和调度任务是一对一的关系。任务的调度p 1 由操作系统负责,而进程的调度统一由调度管理模块负责。调度管理模块的结构如图4 所示。应用、r 应用、,应用进程,进千擘,进程接IJ 蛹敷r 模块核心数据锊理r模块圈4 调度管理模块结构调度管理模块总共由系统启动控制子模块、调度任务子模块、接口函数子模块、核心数据管理子模块、系统监测子模块、打印观察子

17、模块6 个子模块组成。系统启动控制子模块按顺序完成系统数据结构的初始化、进程的创建、任务启动、启动主控进程,任务与进程的创建与启动信息分别存放在任务配置表以及进程配置表中。调度任务子模块实现对进程的直接调度,负责接受任务消息并派发到目的进程进行消息处理和状态跃迁。接口函数子模块向上层应用提供操作进程对象的接口。核心数据管理子模块负责进程控制块的分配和释放,对与进程运行状态相关的各种队列(诸如就绪队列、阻塞队列等)进行管理。系统监测子模块负责对系统资源的使用情况、进程异常状态等信息的监测。打印观察子模块提供打印输出接口,为定位系统故障提供便利。具体面言,调度管理模块主要提供以下功能:(1)在任务

18、调度基础之上构造针对进程的二级调度策略;(2)依据一定的策略对由信号所引起的进程跃迁过程进行控制;(3)对由进程所发起的创建、杀死和延时等动作进行支持;(4)提供获取当前进程标识(P I D)的接口、对P I D 及相关数据管理的接口、查询进程信息的接口;(5)实现对进程的实时和定时监测;(6)向其他模块提供获取当前进程P C B 指针的接口;(7)完成后台或前台应用进程对前台预定义定时器、时区、C P U 占用率高限和低限、打印输出控制等信息的配置;釉万方数据(8)提供调试钩子函数,打印输出调试信息。2 4 进程遥信模型在多进程并行环境中,进程通信模块被设计出来以支撑系统中所有调度任务F 进

19、程之问的通信。它实现了基于多处理机的进程通讯机制,支持处理机内消息广播、处理机间的消息组播,以及处理机内的同步和异步消息、处理机间的异步消息机制。进程通讯模块处理消息的流程如图5 所示。舻圉簧口。叫译口纩妄图卧酬补博酬褂l l 龋阴5 进程间通信模块框榘和处理藏程根据通信日端数量的不同将通信处理流程分为以下4 类:(1)点对点可靠通信,基于R U D P 传输协议。每个需要通信的处理器之间维护一条连接,所有连接组成连接表。进程通过接口发送的消息首先挂在相应连接的发送队列中,发送队列中的消息在该连接发送器的发送窗E l 控制F 采用无等待并包方式发送,发送时采用一个公用的U D P发送套接口。U

20、 D P 守护任务监测一个公用的接收U D P 套接口,当套接口读就绪的时候读取消息,并在该消息对应的连接项的接收窗口控制下向上层转发。链接表结构定义如图6所示。t S v r g o c k e tt B a c k S o c k e tt M S S o c k e tt R e a d S e tt W n t e S e tt E x c t:p t l o n S e tt L m k h e m M A X L 1N KN U M】w L l n k N u mw C o n n e c t e d N u ma w l n d e x L A M A X _ IN D E X

21、L A N U M】a w l n d e x l P M A X I ND E X J P _ N U M】w S w i t e h A c k N u mu c l f R e e v M s E n dT c p 的监听套接字前台提供各后台用的套接字主备通道使用的套接字读套接字集台写套接字集台异常套接字集合连接登记项配置的连接数目已_ 建立连接的连接数目针对逻辑地址的索引针对I P 地址的索引已经收到倒换结束应答的链路数目标示是否收到鲁腔进程倒换结束的消息圈6 健接表鳍构定义(2)点对点不可靠通信,基于U D P 协议。使用一个公用的发送U D P 套接口,发送时指定协议类型为不可靠传

22、输协议,然后根据逻辑地址查找到对应的I P 地址,直接从U D P 套接口上发送出去。U D P 守护任务守护在公用的接收U D P 套接口上,当接收套接I Z l 读就绪时接受消息并向上层转发。(3)对于组播,采用静态分组的方法。每一个组播组对应一个到组播地址,所有这种对应关系组成分组表。一个处理器可以动态加入或脱离某个组播组。组播任务守护在组播组表的组播套接口上,在套接口读就绪时接收消息并向上层转发。进程直接在组播套接字上发送消息,如图7 所示。t R e a d S e tt E x c e p t i o n S e tt M S o c k e tt M(1 l n S o c k

23、e td w M u l t i I PW G r o u p N u mu c J o m l n f M A XGR O U PN U M l读套接字集合肄常套接字集合组播套接字,包括广擒组播数据撤发送套接字分组的组播I P 地址已经加入的分组数日本处理器已经加入的组图7 姐播分组表结构定义(4)对于广播,分组表中有一个特殊项用作广播。广播组成员包括系统内所有处理器,组播任务在该项上守护,进行和上面相同的处理。对于处理器内广播,组播任务只向同一个进程类型的实例分别发送一条消息的拷贝。2 4 1同一任务内进程问通信图8 是同一个任务中2 个进程间通信的示意图,同一任务内多进程间通信的情形与其

24、类似。滑度任务列列田8 同一任务内进程问通信每个进程都拥有一个属于自己的消息队列,用于承载消息体。(1)进程向同一任务内进程发送消息,通过内部接口直接将消息挂到另一个进程的消息队列中。(2)当进程向同一任务内进程发送同步应答消息,直接改变目的进程的状态即可。任务内的进程问通信不能通过任务的邮箱进行转发,以避免在邮箱满的时候任务向自己的邮箱发送消息导致任务死锁。2 4 2同一处理器内任务间通信图9 为同一处理器内任务间通信示意图。圈9 处理器内部的任务问通信每个任务都拥有一个属于自己的邮箱。(1)进程发送到另一个任务的进程的消息首先发送到目的进程所在任务的邮箱,然后由调度任务派发到目的进程的消息

25、队列中。(2)进程发送给非调度任务的消息同样发送到目标任务的邮箱。(3)t F调度任务之间的通信也是通过访问任务邮箱实现。(4)发送异步紧迫消息,将消息发送到目标任务消息队列的头部。(5)发送异步普通消息,将消息发送到目标任务消息队列的尾部。2 4,3 消息的派发调度任务从自己的邮箱获取消息,并负责向任务内各进程的消息队列中派发,在派发的过程中根据不同消息的类型对进程状态进行不同处理。(1)派发同步应答消息的时候,将一5 3 一T。五暑;口11+l调雇任口口臼圈口口奔U盏照介钏刈万方数据目标进程转入就绪状态,设置解除阻塞原因为应答到。(2)派发同步超时消息的时候,将目标进程转入就绪状态,设置解

26、除阻塞原因为同步超时。(3)派发延时结束消息的时候,将目标进程转入就绪状态,设置解除阻塞原因为延时结束。(4)派发其他类型消息时,将消息挂到目标进程消息队列尾部,如果目标进程因为没有消息而阻塞,将目标进程转入就绪状态。3 性能及稳定性分析在S D R A M2 5 6M B,v x W o r k s 6 4,F r e e s c a l eM P C8 3 2 3(3 3 3M H z)环境下,经过长时间分析和记录,统计得到进程与任务在内存资源占用、上下文切换耗时及故障发现率3 个方面的数据。表1 为进程机制节余内存情况。表1 进程机翻节余内存情况从表l 可以看出,进程对象比任务对象占用更

27、少的内存资源。其中,第2 列、第3 列分别记录使用任务、进程机制实现相应业务需要创建的任务数、进程数,第4 列数据表示进程机制相对任务机制实现相应业务节余内存的比例,该数据通过统计运行状态下系统内存的使用情况得到。任务或进程切换所消耗的时间主要包括执行保存、恢复任务或进程堆栈2 个连续动作所用时间。由于对任务的切换涉及操作系统内核态F 的行为,且在任务机制下的任务堆栈往往比较大,因此任务切换效率比进程要低。从图1 0 可以清楚地看到进程、任务切换操作的时间开销与堆栈大小成正比,且任务切换耗时的增长幅度略高于进程,图中的线条均根据统计测试数据描绘。鲁l奄0 0 2O O l0 0 00l481

28、62 02 4s t a c k s i z e K B圈l o 任务、进程切换时阔开镑嵌入式程序中隐藏的缺陷通常不容易被发现,一旦触发往往使系统遭受不可恢复的破坏,所以尽早发现它们是一项非常有价值的工作。为了验证进程机制在系统缺陷发现率上的优势,分别基于任务和进程机制开发新的功能模块,在人力、物力资源相等、进度相同前提下,统计出四周之内依靠任务、进程机制提供的诊断手段4 1 发现的系统故障数目如表2所示。袭2 任务、进程机翻下故肆发现数在稳定性方面,嵌入式操作系统任务堆栈在任务创建时指定,且不能更改,一旦任务堆栈溢出,系统将面临不可预料的严重后果,往往只有复位设备才能恢复系统的正常状态。堆栈

29、溢出不仅对系统稳定运行构成严重威胁,而且通常不容易定位和发现越界的代码。基于对上述问题的考虑,提出了动态增长进程堆栈的策略,为系统长时间在线稳定运行提供有力保障。此外,为提高系统资源可监控性,还提供了实时、定时监控进程对象信息及其使用的系统资源信息的方法。4 结束语实时多任务嵌入式操作系统”1 使用任务作为可调度的最小执行单元,本文在任务的基础上设计并实现了一种更小粒度、更灵活的执行单元,称作进程。使用进程对象,一方面可以让嵌入式应用程序在资源受限的嵌入式设备中实现高并行度和高吞吐量;另一方面,可以减少对系统任务对象的依赖,通过实时、定时获取进程及其相关系统资源使用情况,及时、准确地发现和解决

30、系统中的隐患和异常,提高系统的稳定性和可靠性。本文提出的进程解决方案已应用在通信领域的S D H、W D M 网络上,工程检验表明可以很好地满足大量通信业务并发环境下的通信需求,具有较高的应用和推广价值。参考文献 I】陈莉君深入分析L i n u x 内核源代码 M】北京:人民邮电出版社,2 0 0 2 2】屠祁操作系统基础 M】北京:清华大学出版社,2 0 0 0【3】3 潘清,张晓清操作系统微内核技术研究【J】软件学报,1 9 9 8,9(8):6 0 9 6 1 2【4】王泽民,芦东昕,谢鑫,等基于V x W o r k s 的异常处理的研究和实现【J】计算机工程,2 0 0 5,3l(

31、1 3):9 0 9 2【5】符意德嵌入式系统设计原理及应用 M】北京:清华大学出版社。2 0 0 5 编辑陈文(上接第5 0 页)【4】Z h a n gC h u n,N a u e)t o nJ,D e W i t tD,e ta 1 O nS u p p o r t i n gC o n t a i n m e n tQ u e r i e si nR e l a t i o n a lD a t a b a s eM a n a g e m e n tS y s t e m s C P r o c o f 2 0 0 1A C MS I G M O DI n t 1C o n f o

32、 nM a n a g e m e i to fD a t a S a n t aB a r b a r a,C a l i f o r n i a,U S A:【S n】,2 0 01【5 G o l d m a nR,W i d o mJ D a t a G u i d e s:E n a b l i n gQ u e r yF o r m u l a t i o na n dO p t i m i z a t i o ni nS e m i s t r u c m r e dD a t a b a s e s C P r o c o ft h e2 3 r dI n t IC o n f

33、 o nV e r yL a r g eD a t aB a s e s A t h e n s,G r e e c e:【S n】,19 9 7【6】K a u s h i kR,S h e n o yP B o h a r m o nP E x p l o i t i n gL o c a lS i m i l a r i t yf o rE f f i c i e n tI n d e x i n go fP a t h si nG r a p hs t r u c t u r e dD a t a C P r o c o ft h e18 t hI n t lC o n f o nD

34、a t a b a s eT h e o r y W a s h i n g t o nD C U S A:【S n L2 0 0 2【7】Z o uQ i n g h u :L i uS h a o r o n g,C h uW e s l e yw C t r e e:AC o m p a c tT r e ef o rI n d e x i n gX M LD a t a C H P r o e o ft h e6 t hI n t 1C o n f o nW e bI n f o r m a t i o na n dD a t aM a n a g e m e n t W a s h

35、i n g t o nD C,U S A:【S n】2 0 0 4【8】C h u n gC A P E X:A nA d a p t i v eP a t hI n d e xf o rX M LD a t a C P r o c o f2 0 0 2A C MS I G M O DI n t lC o n fo nM a n a g e m e n to fD a t a M a d i s o n,W i s c o n s i n,U S A:S n】,2 0 0 2 9】C o o p e rB,S a m p l eN,F r a n k l i nM,e ta 1 AF a s

36、tI n d e xf o rS e m i s t r u c t u r e dD a t a C P r o c o ft h e2 7 t hI n t 1C o n f|0 1 1V e r yL a r g eD a t aB a s e s R o m e,I t a l y:s n】,2 0 0 1 编辑陈文万方数据面向实时嵌入式操作系统的进程机制面向实时嵌入式操作系统的进程机制作者:周昕,傅鹂,黄海伦,ZHOU Xin,FU Li,HUANG Hai-lun作者单位:周昕,傅鹂,ZHOU Xin,FU Li(重庆大学软件学院,重庆,400044),黄海伦,HUANG Hai-

37、lun(中兴通讯股份有限公司,深圳,518004)刊名:计算机工程英文刊名:COMPUTER ENGINEERING年,卷(期):2010,36(15)被引用次数:0次 参考文献(5条)参考文献(5条)1.陈莉君 深入分析Linux内核源代码 20022.屠祁 操作系统基础 20003.潘清.张晓清 操作系统微内核技术研究 1998(8)4.王泽民.芦东昕.谢鑫.徐立峰 基于VxWorks的异常处理的研究和实现 2005(13)5.符意德 嵌入式系统设计原理及应用 2005 相似文献(10条)相似文献(10条)1.学位论文 梁樑 可重构嵌入式系统快速原型方法及任务调度算法研究 2007 可重构

38、嵌入式系统,特别是具备动态可重构能力的嵌入式系统,需要对传统的协同设计方法进行改进。交易级建模在系统级设计领域得到重视,它以一体化的软硬件模型为早期的软件开发、设计空间探索和性能验证提供平台。本文以现行的SystemC交易级模型为基础,扩展支持实时操作系统建模的。tim-rtos类,给出非抢占式任务调度相应的模拟方法,并针对抢占式任务调度模拟存在的问题作了分析。以上述研究为基础,提出并实现一种系统原型方法,该方法能够有效支持快速系统原型搭建、初始的功能验证、结构探索和性能评价。协同设计方法要根据可重构系统结构特点,对可重构资源需求施加约束并为运行时调度和管理提供设计支持。本文给出一个可重构嵌入

39、式系统平台原型,基于统一多任务设计思想,设计支持可重构嵌入式系统的操作系统模型,并提出虚拟硬件任务接口、硬件任务动态调度和可重构资源管理模型,将可重构硬件模块抽象为硬件任务,与软件任务一起由操作系统进行统一管理。在可重构系统设计过程中,针对如何缩短重构时间这一重要问题,本文提出采用预配置策略的混合任务调度算法。考虑到硬件任务的特点,将混合任务有向无环图中的硬件任务分解为配置子任务和计算子任务,由于配置子任务并不受到数据依赖的约束,故配置过程可以提前进行。据此设计基于动态层预配置优先级的任务调度算法。模拟调度实验表明该算法能够有效降低硬件任务的配置开销,并从整体上缩短应用执行时间。最后,针对CP

40、U+FPGA混合体系结构,本文给出软硬件任务划分及任务生成流程,将任务划分为软件任务、硬件任务和混合任务。提出混合任务动态调度算法。算法包括任务分配、任务放置和任务迁移。随机生成任务的模拟调度实验表明,利用混合任务提供的实现灵活性,算法获得了较好的调度结果,增加了任务调度成功率。2.期刊论文 孙海波.李建华.王亮.刘占阳 通过任务分割提高嵌入式系统的实时性-冶金自动化2004,28(z1)分析长任务对嵌入式系统实时性的影响,在此基础上提出任务分割是提高嵌入式系统实时性的一种有效途径;总结长任务分割的方法,给出一个通过任务分割提高嵌入式系统实时性的实例.3.学位论文 杜雄 嵌入式系统任务级调试器

41、的研究与实现 2005 随着网络与信息技术的高速发展以及半导体技术的不断进步,嵌入式系统已经被广泛地应用到诸多领域。与此同时,嵌入式系统中的软件也日趋复杂,这使得调试工具在开发过程中所起的作用更加突出。本文对嵌入式系统中任务级调试器技术进行了研究,同时结合具体的操作系统进行了设计和实现。本文首先对嵌入式系统中所使用的调试技术进行了广泛的分析,在对各种调试技术的优点和缺点进行比较之后,选择以ROM监控器调试技术作为嵌入式系统任务级调试器的实现基础。随后,本文对基本的程序编译和调试原理进行了深入的分析,并将重点放在ELF文件的格式以及ELF文件中调试信息的存储和提取之上,以此作为调试器实现的理论基

42、础。然后,本文从源代码级调试和任务级调试这两个不同的层次上,详细地分析了嵌入式系统调试器的设计。在分析任务级调试设计的同时,通过关注嵌入式系统调试中的实时性问题,引入了一种软件实现的用于跟踪系统代码执行流程的方法;通过对系统执行流程的跟踪,解决了嵌入式系统调试中的时序问题,同时提供了一种对系统性能进行分析的手段。本文最后针对采用Nucleus操作系统和MIPSCPU的嵌入式系统,对任务级调试器进行了具体实现。同时,还结合Nucleus操作系统分析了如何实现对系统执行流程的跟踪。4.学位论文 贺君 嵌入式系统中周期性任务DVS算法的研究与实现 2009 嵌入式设备近几年的快速发展带来的高功耗问题

43、日益引起大家都关注,降低产品的功耗和延长设备的使用时间成为一个亟待解决的问题。嵌入式操作系统的飞速发展为系统级功耗管理技术提供了非常丰富的手段,DPM(Dynamic Power Management)和DVS(Dynamic Voltage Scaling)作为两种主流的系统级功耗管理技术越来越多的受到研究者的关注。本文在已有的一种针对周期性任务组的DVS策略的基础上进行了改进,根据当前市场上的芯片不支持连续电压可调的现状,寻求一种降低系统整体功耗的最优方案。本文首先详细介绍了动态功耗管理技术的相关知识以及一种已有的针对周期性任务组的ECVSP(Energy-Conscious Voltag

44、e Scaling Policy)策略。该策略利用周期性任务的自身规律,给出了在电压连续可调的理想情况下的EOVSM(Energy Optimal Voltage Scaling Model)和ESOVSM(EnergySub-Optimal Voltage Scaling Model)两个模型。在该策略的基础上,本文针对市场上的大部分芯片电压不支持连续可调的限制做了改进,将理想情况下计算出的电压值用其相邻的两个可调电压值来代替完成电压调节。通过搭建仿真平台对比了求解EOVSM和ESOVSM的性能差异以及模型改进前后性能的比较。验证了功耗在不可连续调节的限制下较可连续调节的情况的功耗稍稍偏高,

45、最大功耗下降比率达到48。在XScale PXA270+Windows CE50的实验平台上设计实现了带有DVS策略的功耗管理模块。实验平台考虑到求解非线性规划问题的迭代算法较为复杂,而过于复杂的求解过程会给系统带来很大的功耗,因此利用实际平台只支持若干个点的电压值可调这一特性简化了求解过程。实验结果表明该策略在满足任务截止期限的同时达到了很好的降低功耗的效果,在待机状态下功耗降低为原来的74,而在读写flash的状态下降低为原来的85。5.期刊论文 高建平.何超.赵龙庆 通过任务分割提高嵌入式系统的实时性-单片机与嵌入式系统应用2003(10)分析长任务对嵌入式系统实时性的影响,在此基础上提

46、出任务分割是提高嵌入式系统实时性的一种有效途径;总结长任务分割的方法,给出一个通过任务分割提高嵌入式系统实时性的实例.6.学位论文 刘书勇 深度网络嵌入式系统实时性和安全性研究 2005 嵌入式系统日趋复杂化和网络化,因此嵌入式系统的实时性和网络嵌入式设备的安全性面临严峻的挑战。基于此,本文研究了适用于复杂嵌入式系统的实时任务调度问题和嵌入式网络设备的安全性问题。对于实时性,论文提出了综合任务调度算法。该算法结合嵌入式应用中任务的特点,将嵌入式任务分为3类,分别是关键任务、普通实时任务和非实时任务。综合任务调度算法的核心就是建立在对嵌入式系统中任务分类的基础之上,针对不同的任务采取不同的调度方

47、式,并且会随着系统负荷的转变而灵活地转变调度方式。综合任务调度算法适应面广、实时性强,而且能提高系统的整体性能,可应用于未来复杂的嵌入式系统。对于安全性,论文以网络打印机为载体,提出了通用安全打印方案。基于深度网络嵌入式设备的两个安全隐患:本地的非法访问和数据信道的攻击,本方案给出了相应的解决方法。其中数据加密采用对称密钥体制的AES算法,身份认证采用口令加帐号的方式。AES算法采用FPGA的硬件方式实现。本方案在一定程度上可以解决深度网络嵌入式设备的安全性问题。最后,本文给出了通用安全打印方案的实现描述,并对打印机端的数据解密进行了仿真验证。7.学位论文 汪泓澄 嵌入式系统的性能基准程序及任

48、务时限违背率 2006 嵌入式系统产品已经成为信息时代数字化产品的主流,它与具体应用紧密相关,系统设计针对性强,现有的性能评价工具越来越难以满足日益复杂的应用需求。测量系统性能的方法有解析法、模拟法、测量法。性能基准程序法属于测量法,以单个良好定义的任务或者一组任务形式出现,用来度量计算机系统或构件性能的一个测试。性能基准程序具有灵活性高,成本低,安装使用方便等特点。本文研究能够测量嵌入式系统性能的性能基准程序。通过分析比较现有的各种性能基准程序,如SPEC、Rhealstone、Lmbench、Mibench等,总结它们的优缺点,在Mibench性能基准程序的构建思想上,重新对工作负载进行分

49、类选择,建立了一个新的基准程序-Tjbench,然后对其进行了一致性验证。该性能基准程序能够根据嵌入式系统的需求定义系统工作负载并测量不同系统的工作能力。为了详细分析和比较不同系统的实时性能,本文引入了任务时限违背率的概念,把Tjbench作为实时工作负载,通过构建5种任务时限关系模型来获取任务时限违背率。实验选择了RedHatLinux、RT-Linux与ETLinux三个不同的操作系统,结果表明,它们相互之间的实时性能存在较大差异。这说明了采用任务时限违背率来评价实时系统是可行的。8.会议论文 孙海波.李建华.王亮.刘占阳 通过任务分割提高嵌入式系统的实时性 2004 本文分析了长任务对嵌

50、入式系统实时性的影响,在此基础上提出任务分割是提高嵌入式系统实时性的一种有效途径。总结了长任务分割的方法,给出一个通过任务分割提高嵌入式系统实时性的实例。9.学位论文 陈华兵 基于C/OS-网络模块的扩展及任务调度算法的研究 2007 以嵌入式计算机为核心的嵌入式系统,是继网络技术之后IT领域又一个新技术的发展方向。嵌入式系统以其体积小、性能强、可靠性高以及面向行业具体应用等优点而受到人们的广泛关注。目前已被普遍应用于国防、消费电子、信息家电、网络通信等领域。可以说,嵌入式系统无处不在。嵌入式应用领域近几年发展起来的一个概念和技术就是嵌入式Internet的实际应用,面向Internet网络和

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com