嵌入式研究简介 (操作系统课程论文)
西安电子科技大学软件学院 黎建文
摘要:
随着嵌入式技术的发展,对嵌入式的研究呈现出新的特点。本文对嵌入式移动数据库,嵌入式Linux,嵌入式Internet作简单的介绍。
关键字:
嵌入式移动数据库,嵌入式Linux,嵌入式Internet
引言:
从上世纪70年代单片机的出现到今天各种嵌入式微处理器,微控制器的广泛使用,对嵌入式的研究已有很长的时间。随着信息技术对社会各行各业的渗透和数字化产品的普及,以计算机技术,芯片技术和软件技术为核心的嵌入式系统再度成为当前研究和应用。用户对嵌入式产品处理数据能力的要求越来越高,简单的数据管理程序已无法满足用户的要求,嵌入式移动数据库应运而生。随着嵌入式系统功能越来越强大,结构越来越复杂,设计和开发人员要摆脱对硬件底层的管理,将更大的精力投入到上层应用,需要有操作系统对机器进行管理。而嵌入式Linux由于具有多方面的优势,得到了广泛的应用。网络技术的迅猛发展,信息家电构想的一步步走向实现,嵌入式系统与Internet的紧密结合,是嵌入式技术的真正未来。本文对嵌入式移动数据库,嵌入式Linux,嵌入式Internet作简单的介绍。
一嵌入式系统简介[1]
嵌入式系统被定义为:以应用为中心,以计算机技术为基础,并且软,硬件可裁剪,适用于系统对功能,可靠性,成本,体积,功耗有严格要求的专用计算机系统,一般由嵌入式微处理器,外围硬件设备,嵌入式操作系统及用户的应用程序4部分组成,用于实现对其他设备的控制,监视或管理等功能。
由于嵌入式系统是以应用为中心的专用系统,有着与通用计算机不同的特点,主要表现在以下方面:(1)采用功耗低,体积小,集成度高的嵌入式CPU(2)与具体应用有机地结合,升级换代与具体产品保持同步。(3)软件一般固化在存储器芯片或单片机中。(4)软硬件都必须高效地设计,去除冗余。(5)本身不具备自举开发能力,必须有一套开发工具和环境才能开发。
到目前为止,嵌入式系统的发展大致经历了以下四个阶段[2]:(1)无操作系统阶段。系统结构和功能相对单一,大多是基于单片机的简单程序;(2)简单操作系统阶段。系统越趋复杂,功能越趋强大,各种嵌入式操作系统开始出现并迅速发展,用于监控系统负载以及监控应用程序的运行;(3)实时操作系统阶段。嵌入式操作系统的实时性越来越强,应用也越来越广泛,高度方便了嵌入式系统的设计和开发;(4)面向Internet阶段。
二嵌入式移动数据库
1 背景[3]
随着嵌入式技术的空前发展和移动通信技术的进步,简单的数据管理程序已无法满足大量的,高效的,可靠的数据存取操作,必须依靠嵌入式数据库的支撑,才能满足用户日益增长的需求。由于嵌入式数据库大多数应用在移动设备上,为“无所不在”移动计算提供支撑,嵌入式数据库也常被叫做嵌入式移动数据库。
2 嵌入式移动数据库
嵌入式数据库[4]通常是与嵌入式操作系统及具体的应用集成在一起,无需独立运行数据库引擎,由程序直接调用响应的API就可以对数据的存取操作。典型的嵌入式数据库有SQLite,Birkeley DB,Firebird。嵌入式系统的开发环境决定了嵌入式数据库具有:体积尽可能小,功能完备,可移植,开源的特点。
3重要技术[5]
为了实现嵌入式移动数据库,必须解决移动计算环境中断接性、移动性、网络通信的不对称性等因素对移动数据库系统的影响。解决这些问题的重要技术主要有:
(1)数据复制与缓存。维护多个复制节点数据状态的一致性,复制协议主要分为严格一致协议与弱一致协议。
(2)数据广播。利用客户机与服务器通信的不对称性,以周期性广播的形式向客户机发送数据。针对数据广播的研究分为服务器方面和客户机方面。
(3)位置相关查询优化。在传统分布式数据库查询优化技术基础上,利用多种方法,消除带宽多样性,断接等的影响,使得查询引擎可根据当前网络条件采取适当的优化策略。同时,合理组织本地数据库管理,远程数据库访问等耗电多的操作。
(4)移动事务处理。移动事务具有移动性,长事务,易错性,异构性等特点,传统的ACID模型已不能很好的描述移动事务,需要为其寻找更好的模型。维护数据的一致性和解决过去切换问题是移动事务管理的重要任务。
(5)移动Agent技术。基于移动Agent嵌入式移动数据库改革了传统的远程查询数据库的SQL查询方法,把查询任务存储到一个可通过网络进行移动的Agent上,Agent将移动到服务器上,执行查询并做结论,然后返回到用户并打印结果。在这个过程中,把查询任务分解为单个的查询方法,而这些指令在网络上的合适地点会被唤醒并执行。通过将移动Agent技术引入嵌入式移动数据库中,有助于实现嵌入式移动数据库查询优化。
三嵌入式Linux
1 背景[6]
在使用MCU设计嵌入式系统的初期,由于硬件的限制,使得不能在一个嵌入式系统上运行一个操作系统,任何对CPU,RAM等硬件的管理都必须由程序员写程序解决,集成电路技术的发展给运行嵌入式操作系统提供了物质保障,出现了Windows CE,VxWorks,嵌入式Linux(μCLinux,RTLinux)等多种嵌入式操作系统。嵌入式操作系统跟通用操作系统相比有如下特点:微型化,可裁剪,实时性,高可靠性,易移植性。
2 嵌入式Linux
Linux操作系统的发展历程笔者不用多言。目前主流的嵌入式Linux操作系统都是对传统的Linux进行改造得到的。Linux天生具有成为嵌入式操作系统的优势[7],主要体现在:(1)低成本开发系统;(2)可应用于多种硬件平台;(3)可定制的内核;(4)性能有异;(5)良好的网络支持;(6)优秀的开发工具
目前,主流的嵌入式Linux系统主要有:RTLinux,μCLinux等。
3 重要技术
当前已出现了大批基于嵌入式Linux的产品,嵌入式Linux占了很大的市场份额,但离市场更深远的需求仍有一段距离,目前的研究主要针对这几个方面:
(1)提高系统实时性。Linux原本是一个通用性操作系统,实时性并不高,即便经过改造,也只是满足某个范围内的实时要求,还有许多缺陷,如在运行内核线程时中断被关闭,分时调度策略存在时间上的不确定性,缺乏高精度的计时器等。提高系统实时性是嵌入式Linux深化应用亟待解决的问题。
(2)改善内核结构。Linux内核一向因为采用了整合了宏内核和微内核的整体内核而备受称赞。但是由于嵌入式环境的限制,嵌入式系统更趋于采用微内核的结构。因此,要对Linux内核进行小型化改造。
(3)完善集成开发平台。在字符界面下,强大的GCC,GDB可提供良好的开发环境,包括交叉编译,链接。但是与WindowsCE等商业嵌入式操作系统下的开发环境相比,劣势相当明显。因此,开发可视化,可定制的开发平台大有可为。
根据笔者的理解,笔者还认为在以下两方面是大有可为的:
(1)改造X-windows。在PC端Linux相对于MS-windows的一大劣势是Linux运行在用户空间的x-windows绘图质量比不上置于内核空间的MS-windows的图形引擎。在PDA,掌上电脑等嵌入式应用(也是Windows CE的用武之地)中,图形界面是必须的。改造X-windows,使其体积更小,绘图质量更好,笔者认为也是一大研究方向。
(2)开发上层应用程序。由于各种技术因素,商业因素,Linux上的上层应用软件无论从数量上,还是质量上,都比不上MS-windows。需要用到嵌入式操作系统的,一般都是相对复杂的系统,功能要求比较高,需要大量上层应用程序的支撑。
四嵌入式Internet
1 背景[8]
各种嵌入式系统已经得到及其广泛的应用,但大部分系统都是与外界独立的,或者只是简单地连入一些MCU组成的网络,与Internet的发展极不相称。
如何将嵌入式系统接入Internet,实现嵌入式系统与Internet的通信与数据共享,是当前嵌入式技术发展的一大趋势。
2 嵌入式Internet
所谓嵌入式Internet,顾名思义,就是通过特定的网络接口与网络协议,将嵌入式系统接入到Internet,从而实现嵌入式系统与Internet的通信与数据共享。
3 关键技术
Internet上面的各种通信协议对于计算机存储器,运算速度等的要求比较高,而一般的嵌入式系统达不到这样的要求。这是嵌入式Internet发展的主要障碍。
目前主要针对以下几个方面研究:
(1)兼容Internet的协议,处理嵌入式系统接入Internet的方式
(a)单片机+硬件协议芯片+以太网接口控制芯片。
(b)代理方式。通过轻量型网络技术(如RS223,RS485,CAN总线)等将多个嵌入式设备接入作为代理的PC,利用PC与外部Internet通信。
(c)高性能CPU+实时操作系统+以太网接口控制芯片。
(d)采用GPRS[9]。利用嵌入到产品里的GPRS网络移动台(MS)与Internet上的主机通信。
(e)Webit方式[10]。将MCU和以太网控制器集成到一块小板卡上,将它装入到嵌入式系统中可以完成嵌入式系统与Internet网的连接。
(2)增加中间层协议或改造TCP/IP协议
(a)如emWare公司开发的EMIT。EMIT由协议emNet与嵌入式网关emGateway组成。emNet协议运行在MCU内部,嵌入式网关接入Internet,系统通过emNet与emGateway相连。
(b)对TCP/IP协议进行裁剪[11]。裁剪后的TCP/IP协议栈能够运行在低速的MCU上。
五结束语
对嵌入式的研究正轰轰烈烈地开展,相信嵌入式移动数据库,嵌入式Linux,嵌入式Internet将在嵌入式领域引发一场革命,各种基于嵌入式移动数据库,嵌入式Linux,嵌入式Internet的产品将如雨后春笋般涌现。
六参考文献
[1] 嵌入式系统及其开发应用》沈连丰宋铁成叶芝慧等
电子工业出版社 2005年7月
[2]《走进嵌入式Linux世界》肖文鹏
CSDN文档中心 http://dev.csdn.net/article/33/33453.shtm
[3]《嵌入式数据库应用现状及发展趋势》
嵌入式在线http://www.mcuol.com/Tech/114/952.htm
[4]《嵌入式数据库典型技术―SQLite和Berkeley DB的研究》
中国论文下载中心http://www.studa.net/yingyong/070514/17251450.html
[5]《嵌入式移动数据库应用研究》
中国DSP网http://www.chinadsp.cn/Article/ShowArticle.asp?ArticleID=179
[6]《嵌入式实时操作系统μC/ OS-II原理及应用》任哲
北京航空航天大学出版社 2006年4月
[7]《嵌入式Linux应用程序开发详解》华清远见嵌入式培训中心孙琼
人民邮电出版社 2006年7月
[8]《嵌入式Internet技术及其应用》中国单片机公共实验室(BOL)
http://www.goodic.com/embedsys/2.htm
[9]《基于GPRS的嵌入式Internet设备》
机电专业技术网http://www.jdzyjs.com/dianqi/dpj/1354.html
[10]《四种嵌入式 Internet 实现方式》上海大学刘锬
计算机世界网http://www2.ccw.com.cn/06/0630/b/0630b13_3.html
[11]《基于嵌入式TCP/IP软件体系结构的优化设计与实现》
51电子网 http://www.51dzw.com/EmbedPage/2007-4-23/2007-4-232946.html