第 3 章 嵌入式操作系统
3.6 嵌入式实时操作系统现状
从 20 世 80 年代初的第一个商业化嵌入式 RTOS 出现,至今已有 20 多年的历程,由 于嵌入式行业的特殊性,在通用OS 被 Windows 和 Unix 绝对垄断的现象尚未出现。20 世 80 年代初期的嵌入式 RTOS 仅能支持一些 8/16 位处理器,并以销售二进制代码为主,主 要用于军事领域和通信设备。进入 20 世纪 90 年代,现代操作系统的设计思想(如微内核 设计技术和模块化设计等)开始渗入嵌入式 RTOS 领域,促进了 RTOS 的发展和成熟,而 随着 RTOS 发展的开发工具也逐步走向成熟。RTOS 厂家为了摆脱完全受第三方工具制约 的困境,通过自己收购、授权或使用免费工具的方式,组成一套完整的开发环境,为促销 RTOS 产品打下了扎实的基础。同时,许多嵌入式产品制造商对 RTOS 提出了更高的要 求,要求 RTOS 有网络和图形界面的功能、支持标准的 API、开发环境应与 Unix、
Windows 一致,促使嵌入式 RTOS 在功能上、性能上向通用型操作系统靠近。
进入 20 世纪 90 年代,RTOS 在嵌入式系统设计中的主导地位已经确立,更多的嵌入 式产品开始使用RTOS 来提高产品的技术含量。在嵌入式系统软件方面,主要的供应商集 中在美国,如Ready System 公司的 VRTX、风河公司的 VxWorks、IPI 公司的 MTOS、ISI 公司的PSOS 和后来加入嵌入式领域的微软公司 Windows CE 等。
微软公司Microsoft Windows CE 是一个简洁的、高效率的多平台操作系统。尽管它是 由桌面操作系统演变而成的嵌入式 RTOS,但它并不是削减的 Windows 95 版本,而是从 整体上为有限资源的平台而设计的多线程、完整优先权、多任务的操作系统。从技术的角
度 来 说,Windows Ce 并 算 不上 优秀 的 RTOS。首 先, RTOS 非常注 重 个性 化, 而 Windows CE 是非开放性 OS,使第三方很难实现产品的定制;其次,RTOS 追求高效、节 能,而 Windows CE 在这方面是笨拙的,占用过多的 RAM,应用程序庞大;第三,
Windows CE 在内核结构的设计中并未考虑适应系统的高度可裁剪性的要求。
风河公司的 VxWorks 和 PSOS(ISI 公司已被风河公司兼并)是目前嵌入式系统领域中 使用最广泛、市场占有率最高的系统。VxWorks 于 1996 年被允许进入中国市场,由于其 优秀的技术特性,很快占据我国军事和电信等领域的市场。VxWorks 支持多种处理器,
如x86,i960,Sun Sparc,Motorola MC68xxx,MIPS RX000,POWER PC 等。使用的是 和 Unix 不兼容的环境,大多数的 VxWorks API 是专有的。采用 GNU 的编译和调试器。
PSOS 是一个模块化、高性能的实时操作系统,专为嵌入式微处理器设计,提供一个完全 多任务环境,在定制的或是商业化的硬件上提供高性能和高可靠性。可以让开发者将操作 系统的功能和内存需求定制成每一个应用所需的系统。开发者可以利用它来实现从简单的 单个独立设备到复杂的、网络化的多处理器系统。
VxWorks、PSOS 和 OS-9 是传统嵌入式操作系统领域中应用最广泛、市场占有率较 具优势的几个系统。它们是专门为嵌入式微处理器设计的高模块化、高性能的实时操作系 统,广泛应用于高科技产品中,包括消费电子设备、工业自动化、无线通信产品、医疗仪 器、数字电视与多媒体设备,具有很好的安全性、容错性以及系统灵活性。虽然它们都提 供专有的API 接口,但并不适用现在的许多应用需要,迫切需要系统级整合改造并具有支 持应用特制的性能,即在定制的或商业化的硬件上提供高性能和高可靠性系统服务,将操 作系统的功能和内存需求定制成每个应用所需的系统,在此基础上来实现从简单的单个独 立设备到复杂的、网络化的、多处理器的嵌入式系统。
3Com 公司的 Palm OS 是专门针对掌上电脑而设计的嵌入式 RTOS,在 PDA 市场上占 有很大的市场份额,它有开放的操作系统应用程序接口(API),开发商可以根据需要自行 开发所需要的应用程序。第三方或个人已开发了包括计算器、各种游戏、电子宠物、地理 信息等3000 多个应用程序,使得 Palm Pilot 的功能不断增多。
Microwave 的 OS-9 是为微处理器的关键实时任务而设计的操作系统,广泛应用于高 科技产品中,包括消费电子产品、工业自动化、无线通信产品、医疗仪器、数字电视/多 媒体设备中。它提供很好的安全性和容错性。与其他的嵌入式系统相比,它的灵活性和可 升级性非常突出。
Lynx Real-time Systems 的 Lynx OS 是一个分布式、嵌入式、可规模扩展的实时操作 系统,它遵循POSIX.1a、POSIX.1b 和 POSIX.1c 标准。Lynx OS 支持线程概念,提供 256 个全局用户线程优先级;提供一些传统的,非实时系统的服务特征;包括基于调用需求的 虚拟内存,一个基于 Motif 的用户图形界面,与工业标准兼容的网络系统以及应用开发 工具。
加拿大 QNX 软件系统公司的 QNX 是一个采用微内核设计的实时可扩充的操作系 统,它遵循 POSIX.1 和 POSIX.2 规范 、部分遵循 POSIX.1b。它提供了一个很小的微内 核以及一些可选的配合进程。其内核仅提供 4 种服务:进程调度、进程间通信、底层网络 通信小的嵌入式和中断处理。所有其他 OS 服务模块,都是作为用户进程的方式运行,因 此 QNX 内核非常小巧(QNX4.x 大约为 12KB)而且运行速度极快。这个灵活的结构可以使 用户根据实际的需求将系统配置成微操作系统。
我国的系统软件起步于 20 世纪 70 年代初,由一些科研院(所)和大学按计划经济模式 承担研究开发工作,研究成果主要用于军事装备和国家重点项目或作为技术储备。进入 20 世纪 90 年代,随着嵌入式产品的快速发展和市场的需求,有不少科研院所和企业以市 场经济模式参与嵌入式 RTOS 的开发,并开发出一些有潜在市场的产品,如科银京成的 Delta OS
、
中科院凯恩集团的 Hopen 嵌入或操作系统及其因特网浏览器软件平台、深圳 桑夏公司桑夏 2000 嵌入式操作系统、中国船舶重工集团公司第七一六研究所的 MDRTOS 多微机分布式实时操作系统等。但在企业规模、技术水平、开发能力和市场竞争力等方 面,与国际先进水平相比有着很大的差距。近 20 年来,我国广泛应用的主流嵌入式 RTOS 都是从国外直接引进的产品,如 iRMX、VRTX、PSOS、VxWorks 等。开发有自主知识产权的嵌入式 RTOS 已成当务之 急。在开发方式是走自主开发嵌入式 RTOS,还是在自由软件 Linux 基础上进行开发,是 国内嵌入式 RTOS 业一直存在争议和必须要面对的选择。但是,我们应该看到,强大的 IBM 公司曾试图用 OS/2 挑战微软的 Windows,却最终失败。而中国现有的企业和研究机 构实力比 IBM 小得多,走自主开发的道路能打败风河的 VxWorks 和微软的 Windows CE 吗?中国从 20 年前就开始对 Unix 展开研究,并取得了一些技术成果,“七五”、“八 五”及“九五”前期也都研制具有自主版权的操作系统,但并未取得规模市场,对国家基 础软件的建设也未起到举足轻重的作用。有观点认为,随着 Internet 的技术进步,迅猛发 展的Linux 操作系统为中国的软件产业提供了赶超西方发达国家的绝好机会。
自由软件 Linux 是一套以 Unix 为基础发展而成的操作系统,是芬兰学生 Linus Torvalds 的业余爱好的成果。自 1991 年诞生至今,Linux 在很多方面已经赶上甚至超过了 很多商用的Unix 系统。它充分利用了 x86 CPU 的任务切换机制,实现了真正的多任务、
多用户环境。Linux 对硬件配置的要求相当低,能够在 4MB 内存的 386 机器上很好地运 行。而且可以支持很多种处理器芯片。此外更为重要的是,很多高手愿意在 Linux 上开发 程序,而且有很多高手随时对 Linux 的开放内核进行升级和修补,很多 bug 可以很快得到 检测和修复,使得Linux 很快就成为了一个稳定、成熟的操作系统。
Linux 是一种将源代码完全开放的 Unix 类操作系统,由于它的开放性和技术的先进 性,并宣布遵循 CNU(自由软件联盟)的 GPL 协议,赢得了一批富有市场经验的软件开发 厂商的支持,世界上最著名的计算机厂商 IBM、Sun、Oracle、SCO、SGI 等几乎都加入 了支持 Linux 的行列,从而使 Linux 能快速传播和发展,并已经动摇 Windows 的霸主宝 座。Linux 开创了开放源码的先河,并定位于自由软件,成为自由软件中最明亮的新星,
给现有的软件体系带来了巨大冲击,必将影响世界软件产业的发展。
Linux 是个与生俱来的网络操作系统,成熟而且稳定。Linux 是源代码开放软件,不 存在黑箱技术,任何人都可以修改它,或者用它开发自己的产品。Linux 系统是可以定制 的,系统内核目前已经可以做得很小。一个带有中文系统及图形化界面的核心程序也可以 做到不足 1MB,而且同样稳定。Linux 作为一种可裁剪的软件平台系统,是发展未来嵌入 设备产品的绝佳资源,遍布全球的众多 Linux 爱好者又能给予 Linux 开发者强大的技术支 持。因此,选择 Linux 作为嵌入式系统的基础平台是非常有发展前途的。目前,国内外有 不少大学、研究机构和著名公司都加入嵌入式 Linux 的开发研究工作,较成熟的嵌入式 Linux 系统不断涌现。