《嵌入式Linux基础教程(第2版)》试读:第一章:入  门

很多老牌嵌入式操作系统公司纷纷抛弃专有嵌入式操作系统,而这一举动一般都会在公司内部引发不少争论。出于各方面的考虑,许多产品都采用Linux作为其操作系统,这些产品的种类繁多,超出了Linux占据传统优势的服务器领域。手机、DVD播放器、电子游戏机、数码相机、网络交换机和无线网络设备都在使用嵌入式系统。在你家里或汽车里多半也会有Linux的身影。Linux已经成为很多设备的嵌入式操作系统,包括机顶盒、高清电视、蓝光DVD播放器、汽车的信息娱乐中心和很多其他日常使用的电器。 1.1 为什么选择Linux 凭借经济和技术方面的诸多优势,Linux正被越来越多的嵌入式设备所使用。几乎在所有的市场和技术领域都能发现这种趋势。Linux已经被很多重要的嵌入式产品所采用,包括遍布世界的公共电话交换网、全球数据网络、手机、无线基站控制器,以及管理这些无线蜂窝网络的通信基础设施。Linux在众多领域都取得了成功,包括汽车车载设备、消费电子产品(比如游戏机和PDA)、打印机、企业级交换机和路由器以及其他很多产品。全世界内置Linux操作系统的手机数以亿计。Linux在嵌入式系统市场的占有率越来越高,目前来看这一趋势还将继续。 以下是嵌入式Linux增长的几个原因。 Linux支持的硬件设备种类繁多,可能超过其他任何一种操作系统。 Linux支持非常多的应用程序和网络协议。 Linux的扩展性很好,从小型的消费电子产品到大型、笨重的电信级交换机和路由器都可以采用Linux。 和传统的专有嵌入式操作系统不同,部署Linux不需要缴纳专利费。 Linux吸引了为数众多的活跃的开发者,能很快支持新的硬件架构、平台和设备。 越来越多的硬件和软件厂商,包括几乎所有的顶级芯片制造商和独立软件开发商,现在都支持Linux。 出于这些原因,我们看到Linux正加速渗透到众多的日常用品之中,范围涵盖了从高清电视到手机等多种产品。 1.2 嵌入式Linux现状 Linux在嵌入式领域已经取得了长足的进步,这一点并不让人感到惊讶。实际上,阅读本书就已表明Linux已经影响了你的生活。嵌入式Linux的市场规模难以估量,因为很多公司仍然在继续打造它们自己的嵌入式Linux发行版。 LinuxDevice.com是一个广受欢迎的新闻和资讯门户网站(它由Rick Lehrbaum创建,现在属于Ziff Davis),这个网站每年会开展一次嵌入式Linux的市场调查。其最近的调查报告显示,Linux已经成为占据主导地位的嵌入式操作系统,每年都有数千种新产品使用Linux。实际上,有超过半数的调查对象表示他们在嵌入式产品设计中使用了Linux。报告同时显示,仅有大约八分之一的调查对象使用排名第二的操作系统,而那些曾经统治嵌入式市场的商业操作系统的使用率还不到十分之一。即使你有理由怀疑这些调查结果,但没有人能够忽视现今嵌入式Linux市场的蓬勃生机。 1.3 开源和GPL Linux是开源软件,这是促使Linux广泛使用的一个重要因素。如果你想了解更多开源运动的历史和文化,请看Eric S. Raymod的书(见本章末尾),该书引人入胜且富有见地。 Linux内核基于GNU GPL (General Public License,通用公共许可证)的条款进行授权,这导致了一个常见的误区:Linux是免费的。事实上,GNU GPL第3版 的第2段声明:“当我们谈论自由软件时,我们指的是自由,而不是指价格上的免费。”大多数的职业开发经理都同意:你可以免费下载Linux,但是在一个嵌入式平台上开发和部署任何操作系统都是有代价的(这个代价通常很大)。在这方面,Linux并不例外。 GPL非常简短且通俗易懂。这里列出了它的一些重要特点。 许可证是自我存续的。 许可证给予用户运行程序的自由。 许可证给予用户研究和修改源代码的权利。 许可证允许用户分发原来的代码以及他所做的修改。 许可证有病毒的特性。也就是说,如果你把GPL软件分发给某个人,GPL会给予他和你相同的权利。 如果软件是基于GPL条款发布的,它必须永远附带这个许可证 。即使代码被大幅改动(这是许可证允许甚至是鼓励的),GPL要求改动后的代码也必须以相同的许可证发布。这样做的目的是为了保证软件的自由使用,包括修改后的软件(或通常所说的派生软件)的自由使用。 不管软件是如何获取的,GPL允许无限制地分发该软件,而无须支付任何专利费或按件收取的许可费。这并不意味着软件厂商不能够对GPL软件收费——收费是合理和普遍的商业行为。这表明一旦拥有GPL软件,你可以修改和重新分发这个软件,不管这个软件是否被修改过。然而GPL规定,软件的修改者如果决定发布修改后的软件,则必须以GPL的条款发布。无论以什么形式发布派生软件,比如交付给客户,都必须遵守这个规定。 免费和自由 在讨论开源软件的自由特性(free nature)时,常常会提及两个流行的短语:“free as in freedom”和“free as in beer”(本书作者非常喜欢后者)。 GPL的存在保证了软件的自由。它确保了你使用、学习和修改这个软件的自由。它也确保了当你分发修改后的代码给某个人时,他同样也获得这些自由。这个概念已经被广泛接受和理解。 很多人对Linux存在一个误解,那就是Linux是免费的。你可以免费获得Linux,你也可以花几分钟的时间下载一个Linux内核。然而,正如任何一个职业开发经理所理解的,在产品设计中使用任何软件都是有一定代价的。这些代价包括软件的获取、整合、修改、维护和支持。除此之外,你还需要花费其他费用,从而获得和维护一个配置正确的工具链、程序库、应用程序以及和你选择的硬件架构兼容的专用交叉开发工具。很快你会发现,为了开发和部署嵌入式Linux系统,配置其所需的软件工具和开发环境并不是件轻松的事情。 1.4 标准及相关组织 在Linux不断获得桌面、企业和嵌入式等细分市场份额的同时,为推动用户使用和接受Linux,一些新标准和新组织也应运而生。本节介绍一些读者应该了解的标准。 1.4.1 Linux标准基础 对于一个Linux发行版的维护者来说,也许关系最紧密的标准莫过于Linux标准基础(Linux Standard Base,LSB)。LSB的目标是建立一套设计良好的标准,以提升应用程序在不同Linux发行版之间的互操作性。目前,LSB的标准涵盖了好几种硬件架构,包括IA32/64、32位和64位Power架构,以及AMD64等。标准分为核心部分和单独的硬件架构部分。 LSB规定了Linux发行版的公共属性,包括目标文件的格式、标准库的接口、命令和实用工具的最小集合以及它们的行为、文件系统布局、系统初始化等。 通过本章末尾的网址可以了解有关LSB的详细信息。 1.4.2 Linux基金会 据其网站所述,Linux基金会是“一个致力于促进Linux发展的非营利组织”。Linux基金会赞助Linux创始人Linus Torvalds的工作。Linux基金会还赞助了几个工作组,帮助他们制定标准和参与开发针对很多重要Linux平台的新功能。接下来的两节介绍一些由该组织发起的项目。 1.4.3 电信级Linux 世界上很多大型的网络和通信设备制造商都在开发或销售采用Linux操作系统的电信级设备。电信级设备的重要特征包括高可靠性、高可用性和快速的可服务性。这些厂商设计的产品采用冗余可热交换的架构、具备容错和集群化特点,并且常常具有实时性能。 Linux基金会的电信级Linux工作组制定了一个规范,其中定义了电信级设备必须满足的一组需求。这个规范的当前版本涵盖了7个功能领域。 可用性——这类需求用于提供增强的可用性,包括在线维护操作、冗余备份和状态监测。 集群——这类需求用于提升设备的冗余服务性能,例如集群成员的管理和数据检查点的设置。 可服务性——这类需求适用于远程服务和维护,例如SNMP和对风扇及电源的诊断监测。 性能——这类需求定义了性能和可扩展性、对称多处理能力、延时等。 标准——这类需求定义了符合CGL规范的设备应当遵循的标准。 硬件——这类需求与高可用性硬件相关,例如刀片服务器和硬件管理接口。 安全——这类需求用于提升整个系统的安全性并且保护系统免受各种外部威胁。 1.4.4 移动Linux计划:Moblin 全球市场上已经有几款基于嵌入式Linux设计和生产的手机。据各方报道,市面上已有上亿部手机采用Linux作为操作系统平台。唯一可以肯定的是这个数量还在继续增加。原本由专有实时操作系统统治的阵地,有望成为Linux发展最为迅猛的细分市场。Linux已整装待发,吹响了进军商业嵌入式应用领域的号角。 Linux基金会赞助了一个原名为移动Linux计划(Mobile Linux Initiative)的工作组,这个工作组现在叫做Moblin。据Linux基金会的网站介绍,这个工作组的目标是推动Linux在移动设备中的使用,包括下一代手机和其他融合语音/数据的便携设备。这个工作组关注的领域包括开发工具、I/O和网络、内存管理、多媒体、性能、电源管理、安全和存储。Moblin的网址是http://moblin.org。你可以尝试某个Moblin版本,例如Fedora/Moblin(网址为http://fedoraproject.org/wiki/Features/ FedoraMoblin)或者Ubuntu Moblin remix,作者的Dell Mini 10上网本上就安装了后面这个版本。 嵌入式Linux的版图还在不断扩张。在准备这一版的内容时,Moblin项目和Maemo项目已经合并成MeeGo。可以从http://meego.com/了解MeeGo的更多信息,甚至可以下载一个MeeGo镜像试验一下。 1.4.5 服务可用性论坛 如果你正致力于打造需要具备高可靠性、可用性和可服务性(Reliability、Availability、Serviceability, RAS)的产品,你就应该知道服务可用性论坛(SA Forum)。这个组织定义了一组公共接口用于电信设备和其他商业设备的系统管理。这个组织的网址是www.saforum.org。 1.5 小结 嵌入式Linux已经取得了胜利。实际上,你的汽车或家中很可能就有嵌入式Linux设备。这一章仔细考察了下列现象的产生原因。 采用Linux的嵌入式产品开发者和生产厂商不断增加。 Linux在嵌入式设备中的使用率继续以令人激动的速度增长。 很多因素推动了Linux在嵌入式市场的增长。 几个标准和相关的组织正影响着嵌入式Linux的发展。 补充阅读建议 The Cathedral and the Bazaar(《大教堂与市集》),Eric S. Raymond,O’Reilly Media公司,2001。 Linux 标准基础项目 http://www.linuxfoundation.org/collaborate/workgroups/lsb Linux 基金会 http://www.linuxfoundation.org/

>嵌入式Linux基础教程(第2版)

嵌入式Linux基础教程(第2版)
作者: [美] Christopher Hallinan
副标题: 嵌入式Linux基础教程
原作名: Embedded Linux Primer:A Practical
isbn: 711527827X
书名: 嵌入式Linux基础教程(第2版)
页数: 454
译者: 周鹏
定价: 89.00元
出版社: 人民邮电出版社
装帧: 平装
出版年: 2012-5