嵌入式实时软件的构件化开发技术探究
摘 要:
摘 要:随着社会经济和科学技术的不断发展,计算机应用已经在人们的生活、学习和工作中得到了推广与普及。计算机应用模式也在此期间内完成了由主机和个人机模式向普适计算模式转变和发展的过程。普适计算模式与人们的现代化生活需求最为符合,而其中的嵌入式系统可以渗入到人们生活、学习和工作的各个方面,在很大程度上提高了人们的生活质量。但是,以往所使用的传统嵌入式实时软件已经无法与当前的发展环境相适应,因此,本文将对嵌入式实时软件的构件化开发技术进行分析与研究,希望能够为相关人员提供一些参考与建议。
关键词:
关键词:嵌入式 实时软件 构件化 开发技术
嵌入式实时软件在通常情况下都是应用于具有对实时计算有严格要求的执行任务的物理计算设备中。现阶段,其已经在对任务的执行时间以及失效影响有着高要求的诸如航空航天、汽车电子等领域得到推广与应用。嵌入式实时软件长期受到自身特殊性的影响,在其设计和开发的过程中采用的是一直都是过程化技术,且运行在专用的硬件及操作系统上,需要考虑的主要方面是运行的效率、资源的利用率以及硬件的集成,而对模块化及复用性方面考虑的较少。不过随着嵌入式实时软件的开发与发展,其构件化开发技术逐渐被应用且越加受到重视,因此需要加大对其进行分析和研究的力度。
1 嵌入式实时软件构件化开发技术概述
嵌入式系统指的是在具有具体应用功能的专用系统通常情况下都会有较强的成本敏感性。它的硬件及软件都需要经过高效的设计,通过去陈冗余等,努力提高相同面积硅片的性能。传统嵌入式软件基于上述因素的考虑,一般都会尽可能的对代码量进行压缩,从而使软件资源的需求降低。这种做法容易导致大多数的嵌入式软件出现结构紧密度增加,可读性和可移植性变差的情况。但是,在实际的发展过程中,嵌入式系统随着硬件技术的不断发展与进步,其所具有的资源已经非常充足,在这种背景下,其已经具备对传统嵌入式软件进行改造的条件。
嵌入式实时软件的构件化开发技术指的是促进软件复用性提高的一种软件开发技术,其是以分布式、护展性、封装性以及复用性四者的相结合为主要构架思想,它的主要技术有EJB、COM以及CORBA等。嵌入式实时软件的构件化开发技术是基于模块化的系统、结构化的设计以及针对对象技术发展而来的,其主要是利用已经成功开发并通过验证的软件构件,对软件开发的资源投入进行减少,促进软件质量的提高。
构件化的嵌入式实时软件的构成部分主要是一组软件构件,由一个或是多个构件组成一个完整的全新应用,而这个新应用也可以利用自身的构件,对软件的复用性进行提高。由此可以看出,传统嵌入式软件对专用性要求较高,软件和应用需要一一对应,而构件化的嵌入式实时软件则具有较高的组合性,大大的提高了其自身的复用性和扩展性。
2 嵌入式实时软件进行构件化的开发与改造
嵌入式系统所具有的种类较多,因此,与其是对应关系的嵌入式实时软件也同样具有种类较多和结构复杂的特点。根据嵌入式实时软件的不同功能和所在层次可以分为硬件驱动、嵌入式操作系统以及应用程序三种。由此得出,对嵌入式实时软件进行构件化开发与改造可以采用如下三种方式:基于层次的构件、基于功能的构件化以及基于应用对象的构件化。
2.1 驱动构件的开发与改造
基于构件化对驱动程度进行开发与改造之后,驱动构件应该进行上层访问接口的提供,并以对Linux系统的设备驱动程序进行管理的方式为参考对设备驱动程序进行分类,主要有字符和块两类设备,驱动构件所提供的上层访问接口也同样分为这两类。在操作系统中,驱动管理构件可以利用接口进行加载驱动构件、管理硬件资源等操作。驱动构件的动态加载及卸载操作使嵌入式系统的驱动程序实现了单独升级操作,驱动程序的构件化改造对其自身的内部细节进行隐藏,确保修改驱动程序不会对驱动构件造成影响。此外,以针对编程为出发点,驱动程序的构件化改造实际上也可以看作是对硬件设备的抽象化,用户所使用的是字符和块的两种统一设备,其各设备中的驱动构件已经融进中断处理程序,因此缩减了位于底层部位中断管理用户的操作步骤。
2.2 核心构建的开发与改造
核心构件主要指的是构件化改造嵌入式的实时操作系统。这个操作系统的主要功能是对任务进行管理,其功能主要表现为:第一,按照构件所具有的自描述信息进行构件化运行空间的生成,如加载驱动构件所需要的缓冲区;第二,构件之间所具有的通信机制,如构件在运行状态下的监控和错误报告;第二,构建所具有的干预机制,如对错误状态进行强行终止的构件。
构件化操作系统的开发与改造主要是针对操作系统的核心部分,将该部分分别进行构件化改造,使其在运行状态下处于内核态,而用户程序则处于用户态,同时在操作系统中运用构件化思想,可以对其接口进行统一化、规范化的管理,这样就可以避免不安全用户的操作对操作系统运行产生不良影响,进而促进了嵌入式实时操作系统的安全性和稳定性的提高。对于操作系统中诸如抽象化硬件资源等的非核心部分,可以在构件化改造的过程中将其设置为用户态,或是将其直接置于底层驱动构件。
2.3 应用构件的开发与改造
随着科技的发展,嵌入式实时系统所具有的功能复杂性也得到了提高,其中的嵌入式实时软件的功能也逐渐增多,但是在实际的运行过程中,其功能的使用频率是不尽相同的。通过构件化思想的利用,可以对构件进行动态的调动:根据不同的功能对应用软件进行构件化改造,使其中的应用构件通过核心构件管理,运用动态的方式将其调入到内存执行中,使用频率较高的应用构建通常情况下都存在于内存当中,其可以随时进行运行或是转入内核态,对系统的运行效率有着提高的作用;而使用频率较低的应用构件则只要在需要运行时才进行调入操作,这样可以节省系统的资源。
3 构件化开发技术对嵌入式实时软件性能所产生的影响
构件化开发技术的应用使整个嵌入式系统通过集线器连接在一起,嵌入式设备为测试实验提供了相关的硬件资源,在设备上进行运行的软件系统主要有硬件驱动、嵌入式操作系统以及应用程序三种。另外,在系统中还连入了一台PC机,又因为集线器可以无条件广播所有收到的通讯,因此与系统相连接的所有设备的通讯都可以对彼此进行显示,,而PC机中具有监控软件,能够对整个系统的通讯进行监控。
构件化改造协议栈会对协议栈的性能产生影响,这是由于协议构件化后,其构件对内存进行调动以及拷贝数据的次数都会有所增加,进而对协议栈的性能造成影响。但是,构件化改造对协议工作流程并没有产生影响。利用构件化改造可以对嵌入式实时软件的可配置性、可移植性和可靠性进行提高,对嵌入式实时软件的各个应用尺寸进行精简,大大的节约了其储存的空间。
4 结语
综上所述,按照嵌入式实时系统的特点,对嵌入式实时软件进行构件化的改造,通过底层驱动以及操作系统的构件化改造,可以有效的促进其可移植性和安全性的提高;通过构件化改造应用层软件,可以有效的促进其可配置性的提高,与此同时还可以对软件系统的应用体积进行合理的缩减。通过构件化开发技术的使用,对嵌入式实时软件的性能进行完善,提高软件的质量。
参考文献:
本文编号:14559
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/14559_1.html