基于构件技术在嵌入式操作系统中的应用
基于构件技术在嵌入式操作系统中的应用
随着计算机网络的不断发展,使软件产业进入了一个崭新的时代,它联系到我们日常生产和生活的方方面面,使得网络就是计算机彻底成为了现实。但是,面对用户日趋多样化的以及更加灵活的应用模式,传统的软件开发方法已不能满足现实的需要,软件设计思想也需要随之发生变化。因此,正是在这种情况下,软件拼装模式就成论文联盟http://为了目前软件设计的主流技术,也就是构件技术。该项技术不仅支持分布式计算、浏览器/服务器结构,还支持模块化和构件化集成,这样就使得软件类似于硬件一样,可使用不同的标准的构件拼装而成。
一、构件的定义及优势
软件构件,它是由复用的软件组成成份,也常常被用来构造其他的软件,同时它也可以是一些功能模块、软件框架以及根据需要所设计模式等等。在现如今的网络信息化时代,一个简单的程序就可以包括诸多功能,如文字、图表、音频以及视频播放等功能。也就是说,构件还能够实现运行时的动态组织,从而可以向用户提供一个非常实用且具有复合功能的应用软件。软件构件的优势有以下几个方面:
(一)具有良好的维护性
往往在一个基本的构件系统中,构件中可实现每一项功能仅仅一次,这样就可以使系统得到更方便的维护。因为该构件只需更新一个或几个构件,就可以使整个系统的功能就能得以增强。
(二)具有一定的灵活性
当构件在运行过程中,可以实现彼此独立工作。如果构件的设计恰当,它们就可以使其对环境的依赖降低。
(三)具有重用性
如果在其它系统中需要相同功能的构件,这时我们可以直接使用这些已有的构件,而不必重新编写成千上万行的代码。
(四)具有软件开发的高效性
如果采用构件化的开发方式时,我们就可以使系统的研发周期得到大大缩短,使软件开发速度提高很多倍。
(五)具有网络分布性
由于现在很多场合都需要网络分布计算,而构件技术就能够解决这一难题,使各种构件能够作为网络资源分布在网络中。
二、关于car构件主要的技术思想
本文主要以car构件技术为代表进行说明,car是由上海科泰世纪科技有限公司开发的新一代的构件系统,该构件系统是一个国内的自主知识产权的构件系统,该系统有一套网络编程时期的构件编程规范和编程模型,同时它也规定了一组构件间相互调用的标准,使其能够准确地运行时动态链接。
我们所使用的car构件技术,它是继承了com的二进制封装的基本思想,使其面向接口编程。该项技术也融合了java等技术思想之后,从而形成了自身独有的二进制构件程序的模型,该项技术构件模型的特征包括以下:构件技术的自描述;面向接口的编程;面向侧面的编程;具有二进制继承;构件包组装。该构件技术模型主要的目的在于从操作系统层面上引入构件的基本概念,这些服务都是由构件来提供的,可以实现软件的目标代码级的重用。
三、car构件技术在智能手机嵌入式操作系统中的应用
(一)构件化的内核对象与内核构件化的实现
从操作系统发展到现在,每一个操作系统的内核都需要完成最基本的功能,比如:对内存的分配管理、调度以及设备管理等等最基本的功能。因而对智能手机操作系统内核也要实现这些最基础的功能,这些方式的实现却采用的是构件化的理念。由于该智能手机操作系统eiame全部基于构件的操作系统,因此该操作系统内核中所具有的各种基本功能完全是以内核构件对象接口的形式来体现的,这样就完全实现了内核功能模块化,在这个过程中构件化的系统调用和构件化的系统对象就是内核构件化特征的主要表现。该系统是灵活内核,完全具备了内核功能可定制性的基本特性,我们可以通过调用相应对象的接口函数来实现内核功能,这样就可以很大程度地提高了系统的安全性和灵活性。
由于进程是一个比较抽象的概念,它往往是与程序运行相关联的一个概念,可以把它理解为正在运行的一个程序,并且这个程序拥有自己的地址空间,在这个空间里可以包含所需的资源,作为进程对象则是描述这个概念的具体实现。本文所使用的进程对象为cprocess,该进程对象为该智能手机操作系统内核构
件对象中的一个,操作系统可以通过进程对象来实现对进程的有效管理。进程对象由cprocess来实现,一些接口的方法和成员变量是被定义了,从而实现了抽象的进程接口。使用该进程对象的接口方法可以实现对进程对象的操作,其中的成员变量是与该进程实体相关的一些信息资源,通过使用这些信息资源可以实现对进程的控制。
(二)构件化驱动模型的实现
各种外围设备都是被任何操作系统的中上层功能服务所需要使用的,所以作为该智能手机的操作系统对各种设备驱动的要求,也都是起源于构件化的思想。该系统主要是通过构件化驱动来实现各种硬件资源的管理,往往在设备驱动的程序中,首先要对一组数据结构和函数以及相应的接口进行定义,从而实现对一个或多个设备的控制。当出现操作系统的其它部分与该设备的驱动相互进行交互时,他们也都仅仅只能通过驱动接口,从而间接地获得硬件的访问控制权。该智能操作系统中需要有一套完善的构件化驱动模型以及非常全面的编程规范。对于每一个硬件设备的驱动系统可以实现在内核态或者用户态的装载。
(三)对于系统扩展构件的实现
由于系统扩展构件,一般说来是开发嵌入式应用系统时不可或缺的,因此该智能手机的操作系统就需要提供一组动态链接构件库。对于这些构件都是该系统的扩展构件,仔细划分其主要包括为以下构件库:关于图形系统构件库、针对文件系统的构件库、关于网络系统的构件库以及多媒体构件库等等。对于elame系统所提供的这些构件库以及用户所开发的应用程序构件说来,它们都是完全遵守car构件技术的一般规范,并且它们都是直接通过系统的一系列接口来实现与内核交互的,从某种意义上讲,它们的地位是相同的。与此同时,用户也可以开发一些性能更佳的或者更能够最大限度地满足需求的网络系统以及文件系统等构件库,从而实现对这些系统扩展构件库的替换。在这种情况下,往往也可以开发并建立属于自己的应用程序构件库。
(四)对于构件化应用程序的实现
我们可以在elame智能手机的基本操作系统上,可以把所需要的应用程序都编写成为一些功能不相同的构件,然后把这些编好的构件通过car构件平台运行,这样就可以通过平台很方便地加载并运行这些构件,并且可以完全对这些构件的应用程序在软件中软件升级、复用等。从根本上说,智能手机想要实现的功能都是由其内部的应用构件来完成的。当我们在智能手机操作系统上编写应用程序时,就需要完全遵循car编程模型,之后根据用户具体需要的功能把相应的代码填充进去,这样就完成了应用程序的开发。
(五)对虚拟机技术的实现
由于计算机软件技论文联盟http://术飞速发展,使得很多软件程序、模型可以实现虚拟仿真,而在这种情况下虚拟机就顺理成章地诞生了,它是很多仿真硬件环境的虚拟平台。在虚拟样机上,可以实现运行各种各样的操作系统,并且可以十分方便地实现操作系统的调试和跟踪。虚拟样机的应用使我们提高了项目开发的周期,从而提高了工作效率。本文提到的智能手机操作系统的应用开发主要集中在x86单板机上。
四、经验总结
综上所述,随着计算机技术及软件技术的飞速发展,我们可以清楚地认识到构件技术对于嵌入式操作系统的开发的重要性,它给嵌入式操作系统注入了新鲜血液。由于该系统全部功能都是由构件形式拼装而成,这样就实现了真正的软件工厂化的生产方式。任何事物都是有两面性的,构件技术也不例外,它也会出现一些问题,也需要在不断解决问题与不断演变中发展,从而适应新的环境。
转贴于论文联盟 http://
上一篇:Win8 救命草还是滑铁卢