人们是否知道,在我们现代生活中不可或缺的手机里有一个嵌入式操作系统呢?是否知道在那些带有智能功能的装置或设备中,一般都有一个嵌入式操作系统在为我们工作呢?
随着网络、通信、芯片等技术的发展,各种小型、智能化的装置令人目不暇接,诸如掌上电脑、无线手机、数码相机、还有五花八门的小机器狗等,凡此种种装置里面都有嵌入式操作系统。在城市道路上形形色色的汽车洪流里,不论是那些受人注目的奥迪、奔驰、法拉利等名牌轿车,还是普普通通的带电喷发动机的普通汽车,也多多少少离不开嵌入式系统。在工业控制领域,各种控制设备、自动生产线、数控机床等,都需要嵌入式操作系统。而在国防军事领域,从飞机军舰、导弹卫星到通信设施,还没有哪一种现代军事装备没有嵌入式操作系统的支持。
可以说,嵌入式操作系统已经渗透到国民经济的各个领域,已经嵌入到人们日常生活的方方面面。
作为从事计算机研究、开发和应用的技术人员,当然应该关注这样一种已经渗透到各个领域,已经开始嵌入到方方面面的技术—嵌入式操作系统。
凡是对嵌入式操作系统有些了解的人们都知道,在知名度最高的嵌入式操作系统里,排在前列的可能不外乎是Wind River公司的VxWorks,以及近几年异军突起的Microsoft Windows CE系列等产品。还有一些值得关注的产品,比如Green Hills Software公司的嵌入式产品、嵌入式Linux等。
成立于1983年的Wind River公司确实应该为其产品自豪,因为Wind River公司产品已经应用在许多重要和关键的领域中,如美国宇航局的“极地登陆者”号,“深空二号”和火星气候轨道器等。正在实验的返回式航天飞机X38,也采用了Wind River公司的VxWorks。
VxWorks是一个性能获得普遍好评的通用嵌入式操作系统,但VxWorks不是轻易能够得到的,其软件的许可证费用比较昂贵,一般情况下源代码不开放。当然在花费较大的资金代价的前提下,还是可以从Wind River公司购买到源代码版本。
在嵌入式操作系统这个领域中,微软公司并不是早期开创者,直到1996年11月微软公司才推出第一个嵌入式操作系统Windows CE 1.0。不过,微软公司虽然不是嵌入式操作系统市场的早期开创者,并不意味着微软的产品在这个市场上的地位无足轻重。
微软公司在1996年推出Windows CE 1.0版,在1997年推出Windows CE 2.0版,而后推出Windows CE 3.0 版。随着微软公司每一个Windows CE新版本的推出,Windows CE在市场上的份额也逐年增加。目前任何一个嵌入式操作系统厂家,都不能小视Windows CE在这个市场上的越来越大的份额和影响。
微软公司自2000年6月宣布了.NET战略之后,.NET已经从战略规划变成了现实。为了配合微软.NET战略的实施,2002年1月23日,微软(中国)有限公司宣布Windows CE .NET正式在中国发布。Windows CE .NET实际上就是Windows CE的第四版。
那么,一般嵌入式系统开发人员是如何看待Windows CE的呢?就在2002年7月中旬,北京空前炎热夏天的一个中午,我们和往常一样在Internet上冲浪,偶然在一个国外网站(http://www.thumbsupsoft.com/)的页面上看到一篇文章,它从一个侧面反映了嵌入式系统开发人员对Windows CE的看法。在这里我们摘录这篇文章其中的一段文字:
When I started programming for CE, I was expecting to work in a rather cramped, rinky-dink, Mickey Mouse sort of environment. Missing functions, limited space, and generally reduced functionality would rule, I figured.
Boy, was I wrong.
It誷 like entering the storefront of a strip mall, and finding yourself in Saint Peter誷 Cathedral. It誷 amazing in there!
参考译文:
当我开始在CE上编程时,我估计会在一个相当狭窄、低档、米老鼠般的环境中工作。既缺少功能,空间也有限,而且我想,减少功能是(嵌入式操作系统中)通常的法则嘛。
朋友,是我错了。
就好像是走进了商业街上的一个店铺,结果却发现你自己原来是在圣彼德大教堂的内部。那里面太令人惊异了!
Windows CE .NET的许多特性是嵌入式系统开发人员所梦寐以求的,如支持蓝牙无线通信技术、可以小至200KB的体积、广泛的CPU选择、对多媒体的普遍支持、使用Internet Explorer 5.5浏览、良好的安全性以及丰富的开发工具等。
从开发人员的角度来说,面对Windows CE这样一个优秀的嵌入式操作系统,如果不但能够使用它,而且能够有机会阅读它的源代码,显然是件不可多得的快事。理解Windows CE源代码,对于更好地应用和配置Windows CE也是非常有益的。
.我们感谢微软公司亚洲研究院的诚挚支持,为我们提供了最新版的Windows CE .NET的源代码。在微软公司亚洲研究院的大力协助下,我们在北京大学、清华大学和北京航空航天大学里组织了一批优秀学生参加到对Windows CE .NET源代码的分析工作中来。
在所有参加工作的教师和学生们的共同努力下,我们在半年内完成了对Windows CE .NET源代码的分析,并且在此基础上,设计和写作完成了本书。
为了使读者能够更好地理解Windows CE .NET,在本书的内容安排和写作风格上,我们做了一些新的尝试。本书的上篇是“结构分析”,这是一种对源代码的静态分析结果。中篇是“情景分析”,这是一种在某种程度上试图从程序运行的动态角度上,对Windows CE .NET源代码进行更深入的分析的结果。本书的下篇是“基于Windows CE的应用程序开发以及系统实验”,其目的是协助读者在理解Windows CE .NET结构以及运行机制的基础上,设计、编写能够充分发挥Windows CE .NET特点和优势的各种应用程序。
在本书即将出版之际,我们再次感谢微软亚洲研究院对本书写作工作的支持,感谢微软亚洲研究院大学高校关系部的陈宏刚博士、张高博士、刘佐扬女士、马歆小姐、万晖和刘由顺等人士的宝贵支持,没有微软亚洲研究院提供的Windows CE .NET源代码,本书不可能写作出版。感谢参与分析Windows CE .NET源代码的北京大学、清华大学和北京航空航天大学的学生,他们是朱伟、高志、钟诚、黄亚峰、余啸海、王会娣、杨达、马梦瑶、王勇、屈恒、苏冰、华楠、陈亮。他们深入细致的分析工作,是本书得以出版的基础工作之一。感谢机械工业出版社华章公司对本书的出版给予了有力的支持和保证。
最后,对所有关心、支持和理解本书写作的朋友们表示真诚的感谢。希望本书的出版能够对嵌入式操作系统的应用和发展起到促进作用,这是对朋友们关心、支持和理解的最好回报。
作 者
2002年7月18日