📄 linux
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0050)http://www.pocketix.com/qianru/EL/Linuxuseinel.htm -->
<HTML><HEAD><TITLE>Linux用作嵌入式操作系统</TITLE>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<META content="MSHTML 5.00.2920.0" name=GENERATOR></HEAD>
<BODY bgColor=#ffffff>
<P align=center><FONT size=6><B><FONT
color=#ff0000>Linux用作嵌入式操作系统</FONT></B></FONT></P>
<P align=center>From 武汉白云黄鹤站 发信人: dot (爱吃萝卜和青菜)</P>
<TABLE align=center border=1 borderColor=#ffcccc height=25 width="90%">
<TBODY>
<TR>
<TD>
<P>Linux as an Embedded Operating System
Linux有用作嵌入式操作系统的潜力吗?本文讨论了Linux的特点、健壮 性、局限以及最重要的一点,它的实时特性。
近年来,PC硬件使用的增加是高端嵌入式系统最重要的发展之一。这种 趋势造成高端系统硬件造价的大大跌落,从而使那些以前由于使用非P
C结构的嵌入式硬件价格过高而不能做的项目成为可行的。但是嵌入式 PC平台上可选择的软件并不像硬件那样有诱惑力。你可以选择DOS,有
众所周知的局限性;微软Windows,缺乏实时性能;或者某种高端实时 操作系统,昂贵、专用,大多是不可移植的。Linux操作系统提供了另
外的有吸引力的选择,并且没有上面那些缺陷。Linux先前只是狂热的 Unix迷们闲时专门在台式电脑上使用,后来发展成为必须认真对待的高
级的、稳定的操作系统。最近的发展之一是引入了实时性能,从而使L inux完成了重要的转变,即从爱好者的玩具成为适合嵌入式系统设计者
的有价值的工具。当然,其实时性能还没有那些高端RTOS那么高级,并 且Linux永远不会适合需要最小化RAM和ROM的系统。但是,对很多应用
来说,Linux的优势胜过了不足。 </P>
<P>现在,大家都知道在嵌入式系统中使用PC硬件的好处。与很多专为嵌入 式市场设计的硬件比较,PC硬件是大规模生产的、容易获得并且便宜。
为VME总线设计的接口板价格是PC总线的两倍多,比如模拟和数字I/O板 、网络接口、图像采集与处理板等。随着高性能PCI总线应用的增加,
吞吐量不再是影响使用PC平台的问题。</P>
<P>但是操作系统功能上已经发生革命性的变化。在要求硬件价格降低的同 时,高端嵌入式系统要求更多高级的功能,如图形用户界面和网络支持
。很多高端RTOS供应商已经提供了这些功能,一般是作为花更高价钱才 能得到的可选件。微软Windows也有这些功能,却不具备大多数嵌入式
系统要求的实时性能。也许有人想以DOS为基础用单独的第三方工具拼 凑一个系统,但这种努力将是白费并且不存在对这种系统的技术支持。
现在需要的是一个便宜、成熟并且提供高端嵌入式系统所必须特性的操 作系统。</P>
<P>因此,Linux操作系统近来开始吸引大家的注意。许多台式PC用户被它 的特点和健壮性所吸引,并且获得它只需支付通过FTP下载的网络费用
。Linux带有Unix用户熟悉的完善的开发工具,几乎所有的Unix系统和
应用软件都已移植到了Linux上。Linux还提供了TCP/IP网络协议以及I nternet客户和服务器软件,还有可选择多种窗口管理器的X
Windows。 C、C++、Java和其他语言的编译器也可得到。用户会发现这些比Windo
ws提供的更成熟、更完善、更易于使用。许多公司至少会有一位Linux 的热衷者,当出现用Windows解决不了的问题时(比如设置一台PC为拨
号服务器)会说:“瞧,我们要是用Linux...”</P>
<P>现在,讨论Bill Gates是否有所担心是有些杂志的一个话题。重要的是 不属于任何一家公司的Linux开始被台式电脑用户接受,其中许多人并
不能被认为是电脑迷。这一方面是因为Linux的成熟,另一方面也因为
这几年Internet的盛行。Linux用户遇到问题时可以通过Internet新闻 组和邮件列表向网上成千上万的在线用户请教。你遇到的问题别人以前
肯定碰到过,一般他们都乐于帮忙。根据我的经验,通常使用网络资源 能比依赖RTOS技术支持部门更快地解决问题。你可能需要从十几条新闻
组其他成员回答的相关信息中搜寻,但至少有一个回答应该是有用的。 相比较而言,你从技术支持部门仅得到一个回答,如果是错的,你不得
不重新开始整个过程。另外,致力于提供Linux支持的公司也已经出现 ,给那些觉得传统的技术支持手段更舒服的用户一个选择。并且所有L
inux是提供源代码的,这使最困难的问题也有办法解决。</P>
<P>某些嵌入式系统设计者会发现Linux本来的样子就很有用。对于没有实 时要求的应用,或者有实时要求但可以用一定的硬件或协处理器满足的
应用,Linux提供了Windows和DOS之外的选择。但是那样的应用几乎没 有。因此,用Linux实现一个实时操作系统才是真正需要的,并且为了
用它实现高端嵌入式应用已经做了充分的工作。总的来说,有两条途径 来实现实时Linux,在此称之为POSIX路线和低层路线。</P>
<P> </P>
<P> </P>
<P>POSIX和Linux POSIX是标准化类Unix操作系统必须具有的特征和接口的运动。POSIX的
思想是为了促进为Unix编写的软件的可移植性,使Unix程序员的工作更 容易。有些实时性的扩展,象POSIX.1b或IEEE
1003.1b已经加入到标准 中。这些扩展中包括一些工具,比如信号灯、内存锁定、时钟和计数器 、消息队列以及优先级抢先调度。</P>
<P>以POSIX为基础来标准化实时操作系统已经受到指责。这个标准又大又 笨,包含了许多适合台式Unix工作站但无助于嵌入式系统的特征,因而
显得很臃肿。标准制定群体被工作站制造商控制,他们不愿对RTOS供应 商和用户让步。还有,POSIX系统调用反映了Unix系统调用的复杂和笨
重,在VxWorks或pSOS+中仅需一两个调用即可完成的操作可能需要十几 个POSIX调用。Unix程序员已经习惯了这种麻烦事,但是嵌入式系统程
序员却觉得很难受。</P>
<P>许多Linux开发者正在为了在Linux中实现POSIX.1b的特征工作。这个活
动已经初见成效并且仍在继续。POSIX内存锁定工具和决定调度算法的 函数已经实现。另外,计数器函数和POSIX.1b信号仍未完成。也许最糟
糕的是,对任何真正的RTOS都至关重要的信号灯和消息队列也未实现。 </P>
<P>定义于POSIX.1c(或IEEE 1003.1C)中的POSIX线程保证会为POSIX路线
的Linux开发实现。一个进程内可以有多个线程,共享相同的地址空间 。这很符合我们熟悉的嵌入式系统中任务的概念。Linux已经部分实现
了POSIX线程。</P>
<P>虽然POSIX路线对实现一个实时Linux做了保证,当前和可预见的将来只
有“软”实时的应用能用POSIX.1b函数来实现。移植POSIX.1b函数到L
inux上时要面对的根本问题是Linux的内核是不可抢先的。因此,要想 不对内核大动干戈而实现“硬”实时特性恐怕是不可能的。
通向实时Linux的低层路线 Low-level Approach to Real-time Linux</P>
<P>比POSIX路线更有意思的是实现硬实时Linux的努力,其中最有前途的要
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -