嵌入式实时多任务软件的软总线结构设计_第1页
嵌入式实时多任务软件的软总线结构设计_第2页
嵌入式实时多任务软件的软总线结构设计_第3页
全文预览已结束

下载本文档

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

文档简介

1、嵌入式实时多任务软件的软总线结构设计嵌入式实时多任务软件的软总线结构设计类别:嵌入式系统摘要:本文提出在嵌入式实时操作系统上建立实时多任务软件系统时,使用软总线提供数据驱动层以处理多任务间共享资源的构架方式。该方案封装各种共享资源的操作,在操作系统上构建使资源对于其他系统任务模块构建者透明的数据驱动接口。实验结果表明该方案能较好的为各任务进程提供共享资源建立和使用的接口,同时有效地屏蔽由于进程资源共享与进程独立性的矛盾而可能产生的错误。 1引言 随着大型嵌入式系统向着集成化和多元化方向的发展,嵌入式软件系统的复杂度也日益增大。在集成多个硬件工作模块组成的复杂系统中,要求软件系统能同时测控多个模

2、块的同步工作,软件设计要求做到实时多任务。针对软件设计的要求,采用基于实时多任务操作系统提供的底层任务调度机制,建立软件架构成为较好的选择。本文提出了基于实时多任务操作系统,建立软件架构时采用软总线提供数据驱动层的架构模式。针对实时多任务操作系统,分析任务调度与数据驱动层。针对资源共享与任务进程独立性等问题,提出软总线在共享数据维护上的优势。 2任务调度、共享资源与软总线结构研究 2.1 嵌入式开发任务调度和资源共享 目前主要的实时多任务操作系统(VxWorks,嵌入式Linux,WinCE)的任务调度均采用对于不同优先级抢占式调度,对同优先级采用时间片轮转调度的方法。为使低优先级任务能得到运

3、行,软件需要能阻塞高优先级任务,同时也要能使被阻塞的任务重新就绪运行。操作系统对进程间通信资源的操作能产生这样的效果,所以在架构软件时,常借助进程间通信资源的使用。然而采用这样的方式,调度灵活性较差,同时低优先级任务对进程间通信资源的占用也始终处于劣势。任务进程较多复杂软件系统中,无法避免的会出现多进程共用资源的情况,事实上进程通信资源也是一种多进程共用的资源。进程可以对自身资源进行管理,但对于这些共享的资源,就无法只由共享者中的某一个进行管理。而这个管理却是必要的,否则进程内部的意外可能通过这些资源蔓延到其他进程,如:进程内部意外的对资源地址赋空,就会使其他共享该资源的进程在使用该资源时崩溃

4、。这就要求在系统设计时,有独立于各个进程之外的总体的对资源管理的模块。 2.2 软总线结构 在此,本文提出软总线结构来架构复杂的软件系统,以解决任务调度和资源管理上的困难。软总线是封装了操作系统对于进程间通信资源,共享内存等有多个进程共同使用的资源操作的模块。该模块为任务进程模块提供标准的资源申请、使用及回收接口,任务进程使用该接口及协议的标识进行资源的共享。 首先,软总线封装了各种进程可能共享的资源,独立于进程之外对资源进行管理,使共享资源对于任务进程透明,任务进程无法直接操作资源。这样的处理方式使得资源本身不能被任务进程修改或破坏。任务进程获取的数据,实际是总线上数据的副本,而所有关于总线

5、上数据的更新都需要总线模块的认证,以避免出错。总线模块在操作系统底层调用的基础上,通过封装资源、提供接口,构建了一个数据驱动层。同时,由于软总线的封装,使得在构建软件系统时,对进程的调度需要通过软总线来实施。如果在总线模块处加载系统的调度策略,可以更灵活有效地对每个资源进行任务的调度。使得一方面降低了在开发初期为任务进程设置合理优先级的难度,一方面也使得不同任务能在不同的资源处能有更为灵活的优先策略。 综合以上两点,以软总线架构底层数据驱动的方式构建实时多任务软件系统,可以有效地保护和管理共享资源并更为简单灵活对系统进行调度。 3软总线软件架构方案 本设计基于Vxworks操作系统,试验平台包

6、括通信、存储、复接、硬件总线与主控计算机等硬件电路板,及与硬件相对应的软件功能模块。 3.1 软件架构整体方案 本设计中,软总线封装的操作系统对于内存、信号量以及消息队列的创建、删除及使用等操作。上层与硬件功能对应的软件任务模块需要通过软总线进行对资源操作。具体的结构如图1 所示:对于功能模块本地化的资源,不强制要求使用软总线操作。 图1 软总线架构设计框图 3.2 软总线详细设计 对于软总线结构的架构方式,设计关键节点就是软总线模块。该模块负责对操作系统的资源封装和上层功能模块的资源使用请求处理。本设计中,将软总线分成两个主要的部分:资源池和管理表。资源池是软总线模块开辟的内存区域,在内存池

7、上进行系统其他功能模块的共享资源的创建。 软总线引入了以下操作特性:资源创建于软总线的资源池,功能模块通过标示符来间接地使用资源,资源使用需要经过软总线的验证,多个进程对同一资源会有不同的操作方式和优先级,不同的资源有不同的调度策略。针对这些特性,就需要有相应的管理系统。该系统需要维护资源与标示符之间的关联、任务进程对资源的相关操作参数、资源特有的调度策略等。本文设计中软总线主要使用四个表格存储关联信息,其详细设计图如图2: 图2 软总线详细设计图 3.3 资源使用调度详细设计 为了保证资源的安全性,系统要求进程在使用资源的时候先进行进程注册和资源申请。同时,系统对资源使用的行为进行比较严格的

8、检测。因此,进程使用资源分为三步:进程注册,进程申请资源及进程使用资源。进程注册是在进程建立的时候,同时将进程信息写入软总线的进程表加以保存。进程申请资源通常在进程建立以后第一次工作时完成,类似对资源的初始化。进程申请资源要求进程在软总线已经注册,同时要求进程对资源的参数限定符合该资源。进程使用标识符来标示所要使用的资源,如果该资源不存在,这以该进程给定的参数在资源池中建立和初始化该资源并关联进程;如果资源存在,比对参数,如果一致,直接关联进程,否则出错处理。出错处理产生以“标识符_进程编号”为标识的副本,以进一步的使用,当然同时会有出错提示。 资源使用要求进程和资源已经关联。同时使用的过程中

9、,进程操作的是数据的副本,而对资源的更新是要受到系统的检测的。这次,副本数据的更新是实时的,这样就避免出现同步的问题。资源调度也会在资源获取前依据资源调度表中的信息进行。进程对资源申请和使用的详细调度如图 3 所示: 图3 进程对资源申请和使用的详细调度图 3.4 系统验证和安全性模拟实验 经过验证,该系统能模块使用软总线提供的接口操作资源,其速度和效率不低于使用未封装的资源。同时,软总线的封装使得资源对功能模块透明,而且使用资源时还要求对其进行较强的验证,因此资源的安全性及系统的健壮性得到了较大幅度的提高。为了验证系统的安全性健壮性,我们进行了安全测试。在测试中,模拟了系统可能出现的各种安全漏洞。同时,与使用非软总线结构,对资源不进行强验证的系统进行比较。结

温馨提示

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

评论

0/150

提交评论