书接上回
由于《μC/OS,The Real-Time Kernel》书写得很成功,在二十世纪90年代,使用μC/OS的工程师越来越多。开发者很容易就可以把操作系统移植到新的硬件平台上,开发了无数基于μC/OS的应用。虽然有少数μC/OS用户只是在业余时间对μC/OS修修改改,但更多工程师真正把该操作系统用在了复杂的和要求苛刻的商业项目上。而来自μC/OS用户的评论和建议也帮助我不断完善该操作系统。在最初几年内,我仅仅对μC/OS做了一些很微小的改动。然而,当R&D出版社要求我写μC/OS的第二个版本时,我决定对我的操作系统和书做一次大的改进。升级后的操作系统就是μC/OS-II。
快速浏览μC/OS-II源文件,可以发现该操作系统与μC/OS是不同的。在μC/OS中,所有与处理器无关的代码都包含在一个C文件中,而μC/OS-II把它分成多个文件,每个文件对应操作系统中的一种服务。μC/OS-II还提供了其前一版所没有的许多功能,包括堆栈检测功能、介入函数和安全的存储器动态分配法。为了将这个全新的操作系统的新功能交代清楚,书的页数几乎增加了一倍。正如新操作系统要有一个新的名字,这本新的书也就有了一个新的名字《MicroC/OS-II,The Real-Time Kernel》。(在新的书名中,用“Micro”替代了“μ”,这是因为书名中的这个希腊字符给很多零售商带来了麻烦)。《MicroC/OS-II,The Real-Time Kernel》一书于1998年出版。在这本新书中,配有μC/OS-II源代码。这一次,很快有数千名开发人员测试了这个新的内核,并反馈了很多宝贵意见。另外一个方面,对于那些对内核了解甚少的人来说,这本书全面并通俗易懂地讲述了操作系统的基本原理。很多大学教授开始意识到这本书对想学习内核的新手来说有着很大的吸引力,于是,他们开始围绕μC/OS-II设计整套教学课程。很快,学习过μC/OS-II内核的大学毕业生开始参加工作,并在他们的工作中继续使用μC/OS-II。
注:本书中文版《μC/OS-II-源代码公开的实时嵌入式操作系统》由清华大学邵贝贝教授翻译,中国电力出版社2001年出版,这在当时的中国图书市场应该是最早出版的嵌入式OS图书之一。
当很多学生因为我写的书和很容易拿到的源代码而开始学习μC/OS-II时,大量的工程师则是由于其可靠性而选择使用μC/OS-II。2000年7月,一款嵌入μC/OS-II的航空电子产品拿到了DO-178B A级认证,这意味着这个操作系统的可靠性得到了权威认证。该认证受航空电子联合组织(FAA)认可,只有那些被认为是足够安全、可用于航空器的软件才能拿到该认证。直到今天,只有很少几个操作系统成功地通过了软件认证必须经历的苛刻测试。DO-178B认证只是μC/OS-II取得的众多认证书中的一个。其它的认证书包括美国食品和药品管理局的上市前通知书(pre-market notification,510(k)),医疗设备的上市前许可证(pre-market approval)和针对工业控制的IEC-61508。符合这些标准对μC/OS-II在工业领域中的应用是至关重要的;不过,这些认证对其它行业的工程师也有重要意义,因为这些认证表明μC/OS-II具有可靠性高、文档完备和可缩短产品上市时间等优点,这对任何设计都是很有益的。
一直到90年代末,我仍然全职在Dynalco公司工作,那时我仅用工作以外的时间,已经很难跟上操作系统的发展要求。我认为回答每一个μC/OS-II用户的问题是我的责任,但流入我邮箱的信件却源源不断。既然已经不能再把操作系统作为一个业余项目来做,我决定创建自己的软件公司。
1999年秋季,Micriμm公司正式成立。Micriμm由2个词构成,即“Micro”(意思为微处理器或微控制器)和“ium”(意思为世界),因此,Micriμm的意思是(从软件的眼中看)微处理器世界。在成立Micriμm公司的前不久,我开始编写μC/OS-II一书的第二版,该书于1999年11月出版,并配有新版本的内核。该操作系统增加了2个主要的功能:事件标志组和互斥型信号量。书中详细描述的这些新功能深受μC/OS-II用户的欢迎。同样,这本书本身也非常受欢迎;
《MicroC/OS-II,The Real-Time Kernel》的第二版很快就出现在众多嵌入式软件开发者的书架上。实际上,这本书是在嵌入式系统方面发售的最为畅销的一本书。
注:本书中文版《嵌入式实时操作系统μC/OS-II》由清华大学邵贝贝教授翻译,北京航空航天大学出版社2003年出版,这本书广受欢迎,已经销售了数万册,见图1 。
图1《嵌入式实时操作系统μC/OS-II》
进入2000年以后,Micriμm公司扩张了。一些工程师加入到Micriμm公司中,他们不仅把μC/OS-II移植到一些新的硬件平台上,而且开发了大量的范例工程,写了很多应用笔记。2002年,我的一个老朋友Christian Legare加入到Micriμm公司,并成为公司副总裁,他有着丰富的管理和技术经验,进一步促进了公司的快速发展。自从Christian加入到Micriμm公司后,公司就从一个只有一个产品的公司发展成一个有着15个组合产品的公司。与此同时,为了满足μC/OS-II用户不断发展的需求,μC/OS-II还增加了一些新的功能,包括给操作系统增加了各种各样的新API函数,以及把内核支持的最大任务数从64个扩展到255个。作为公司的总裁,我仍然专注于编写一流的内核代码,最近完成的是μC/OS-III。经过无数小时小心翼翼地编程和测试才完成的μC/OS-III是一个鲁棒性很好的操作系统,虽然它的根基是μC/OS-II,但却是一个全新的内核。根据用户的反馈和长时间的经验积累,μC/OS-III增加了几个重要的功能(见《嵌入式实时多任务操作系统μC/OS-III》第一章“概述”)。
注:《μC/OS-III,the real time kernel》自2010年在美国出版,现在已经按不同微控制器共出版了7册,本书中文版已经有2册《嵌入式实时操作系统μC/OS-III》和《嵌入式实时操作系统μC/OS-III应用开发》由宫辉、何小庆等人翻译,北京航空航天大学出版社2012年出版,现已经销售了数千册,见图2 。
图2《嵌入式实时多任务操作系统μC/OS-III》和《嵌入式实时操作系统μC/OS-III应用开发》
当编写新软件的时候,我对那些流行的、没有经过验证的技术的使用持高度谨慎的态度。虽然我喜欢跟踪高科技领域内的最新发展,但我认为把关注点放在解决工程师的实际问题和提供一个可靠的、完整的内核,要比放在如何尽早跟上那些刚出现的发展趋势更加重要。这种哲学思想已经在μC/OS发展中获得了相当大的成功。到今天,Micriμm公司发展到它的第十个年头,已经成为一个高度知名的嵌入式软件提供商。工业界调查报告一致显示该操作系统是嵌入式领域中的最为流行的操作系统之一。我的目标过去是,将来还会继续是为我在Dynalco公司时所面临的、现在数以百万计的嵌入式系统开发者还在继续面临的那一类问题,提供有效的解决方案。
与非网原创内容,未经许可,不得转载
摘要:对嵌入式操作系统的定义,国内外专家学者和企业界人士的理解都不尽相同,具有代表性的意见有两种;一种是说嵌入式系统就是嵌入式的计算机系统,另外一种认为嵌入式系统是一种机电结合、软硬结合执行某种特殊功能的系统……
摘要:摩托罗拉自1974年发布第一款MC6800 --8位微处理器到1979发布的MC68000(简称68K)-16/32位CPU之后,其芯片因为即可以使用在计算机系统中,也可以使用在嵌入式系统,很快成为当时行业的标准。最早开发嵌入式OS的公司,许多都是借助摩托罗拉的市场起家的……
摘要:除了上一篇提到的OS-9以外,最早出现的嵌入式操作系统(简称为嵌入式OS)当属VRTX,因其在技术上创新性,得到用户和嵌入式系统公司的广泛支持,VRTX可称为商业嵌入式OS的开拓和领导者……
摘要:在讨论开源的嵌入式操作系统(简称嵌入式OS)之前,我们先把开源软件搞清楚。“开源软件”目前并没有明确定义,也没有标准许可证。许多公司采用开放源代码一词,大概有这样两种情况……
摘要:过去30年间,风河和VxWorks在嵌入式OS领域一直处在领先地位,在航空航天、通信、工业控制等行业有着广泛的应用,在业内被称为嵌入式OS的常青树……
摘要:手机属于嵌入式设备,手机软件平台使用的操作系统属于嵌入式OS的范畴。传统的功能手机(Feature Phone)使用了实时多任务操作系统(RTOS)为基础的手机软件平台。入门级的智能手机采用了半开放的嵌入式OS(比如Symbian),而今天高端的智能手机多采用Android和IOS这样的通用型的OS……
摘要:为你介绍那些开源的操作系统,Android以及它的竞争对手们的整个OS产业生态……
摘要:根据IEEE 2009年2月的报告,豪华级别的汽车的软件代码长度将超过1亿行,如此巨大的代码量不使用嵌入式操作系统(以下简称嵌入式OS)和软件平台架构是不可想象的,以此联动产生的软件研发、测试和维护成本也是巨大的,带给汽车的安全性和可靠性隐患更是无法预估的。由此也成为嵌入式Os逐鹿的新战场……