Linux as an Embedded Operating System Linux有用作嵌入式操作系统的潜力吗?本文讨论了Linux的特点、健壮 性、局限以及最重要的一点,它的实时特性。 近年来,PC硬件使用的增加是高端嵌入式系统最重要的发展之一。这种 趋势造成高端系统硬件造价的大大跌落,从而使那些以前由于使用非P C结构的嵌入式硬件价格过高而不能做的项目成为可行的。但是嵌入式 PC平台上可选择的软件并不像硬件那样有诱惑力。你可以选择DOS,有 众所周知的局限性;微软Windows,缺乏实时性能;或者某种高端实时 操作系统,昂贵、专用,大多是不可移植的。Linux操作系统提供了另 外的有吸引力的选择,并且没有上面那些缺陷。Linux先前只是狂热的 Unix迷们闲时专门在台式电脑上使用,后来发展成为必须认真对待的高 级的、稳定的操作系统。最近的发展之一是引入了实时性能,从而使L inux完成了重要的转变,即从爱好者的玩具成为适合嵌入式系统设计者 的有价值的工具。当然,其实时性能还没有那些高端RTOS那么高级,并 且Linux永远不会适合需要最小化RAM和ROM的系统。但是,对很多应用 来说,Linux的优势胜过了不足。
现在,大家都知道在嵌入式系统中使用PC硬件的好处。与很多专为嵌入 式市场设计的硬件比较,PC硬件是大规模生产的、容易获得并且便宜。 为VME总线设计的接口板价格是PC总线的两倍多,比如模拟和数字I/O板 、网络接口、图像采集与处理板等。随着高性能PCI总线应用的增加, 吞吐量不再是影响使用PC平台的问题。
但是操作系统功能上已经发生革命性的变化。在要求硬件价格降低的同 时,高端嵌入式系统要求更多高级的功能,如图形用户界面和网络支持 。很多高端RTOS供应商已经提供了这些功能,一般是作为花更高价钱才 能得到的可选件。微软Windows也有这些功能,却不具备大多数嵌入式 系统要求的实时性能。也许有人想以DOS为基础用单独的第三方工具拼 凑一个系统,但这种努力将是白费并且不存在对这种系统的技术支持。 现在需要的是一个便宜、成熟并且提供高端嵌入式系统所必须特性的操 作系统。
因此,Linux操作系统近来开始吸引大家的注意。许多台式PC用户被它 的特点和健壮性所吸引,并且获得它只需支付通过FTP下载的网络费用 。Linux带有Unix用户熟悉的完善的开发工具,几乎所有的Unix系统和 应用软件都已移植到了Linux上。Linux还提供了TCP/IP网络协议以及I nternet客户和服务器软件,还有可选择多种窗口管理器的X Windows。 C、C++、Java和其他语言的编译器也可得到。用户会发现这些比Windo ws提供的更成熟、更完善、更易于使用。许多公司至少会有一位Linux 的热衷者,当出现用Windows解决不了的问题时(比如设置一台PC为拨 号服务器)会说:“瞧,我们要是用Linux...”
现在,讨论Bill Gates是否有所担心是有些杂志的一个话题。重要的是 不属于任何一家公司的Linux开始被台式电脑用户接受,其中许多人并 不能被认为是电脑迷。这一方面是因为Linux的成熟,另一方面也因为 这几年Internet的盛行。Linux用户遇到问题时可以通过Internet新闻 组和邮件列表向网上成千上万的在线用户请教。你遇到的问题别人以前 肯定碰到过,一般他们都乐于帮忙。根据我的经验,通常使用网络资源 能比依赖RTOS技术支持部门更快地解决问题。你可能需要从十几条新闻 组其他成员回答的相关信息中搜寻,但至少有一个回答应该是有用的。 相比较而言,你从技术支持部门仅得到一个回答,如果是错的,你不得 不重新开始整个过程。另外,致力于提供Linux支持的公司也已经出现 ,给那些觉得传统的技术支持手段更舒服的用户一个选择。并且所有L inux是提供源代码的,这使最困难的问题也有办法解决。
某些嵌入式系统设计者会发现Linux本来的样子就很有用。对于没有实 时要求的应用,或者有实时要求但可以用一定的硬件或协处理器满足的 应用,Linux提供了Windows和DOS之外的选择。但是那样的应用几乎没 有。因此,用Linux实现一个实时操作系统才是真正需要的,并且为了 用它实现高端嵌入式应用已经做了充分的工作。总的来说,有两条途径 来实现实时Linux,在此称之为POSIX路线和低层路线。