第一章 概述
Linux OS于1991年夏首度问世。最开始是由Linus Torvalds以源码形式发布,需要有足够的专业知识才能构建和安装。后续Linux早期的爱好者/开发者建立了第一个Linux软件发行套件Distribution,包括安装和使用一个Linux系统时需要用到的所有软件组件。
Linux的成果起源于之前许多项目的成果。Richard Stallman和“自由软件基金会” Free Software Foundation, FSF开发和维护的软件统称为GNU (GNU‘s Not UNIX)。GNU阐明了FSF的目标在于建立一个自由的Unix-like系统。
【UNIX操作系统(尤尼斯),是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由KenThompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发。目前它的商标权由国际开放标准组织所拥有,只有符合单一UNIX规范的UNIX系统才能使用UNIX这个名称,否则只能称为类UNIX(UNIX-like)。】
1. 什么是Linux?
Linux最初指的是由Linus Torvalds所撰写的操作系统内核。Linux内核提供各种基本服务,让任何基于Linux的系统能够正确运行。应用软件需要依赖Linux内核的特定功能(例如处理硬件设备的能力)以及各种抽象概念(例如,虚拟内存、任务/进程、socket、文件等)。Linux内核的启动一般是由引导加载程序或系统固件负责进行,一旦开始,就不会停止。
Linux常用于指Linux内核本身、Linux系统,或是基于Linux内核源码的软件发行套件,以及相关的软件。理查德斯托曼和FSF通常在Linux前加上GNU/,表示一个执行Linux内核与各种GNU软件的完整系统。实际上,不使用GNU也可以建立一个基于Linux的完整系统(困难很大)。所以目前的趋势是以用Linux这个术语来表示一个在Linux内核之上执行GNU和非GNU软件的完整系统或发行套件。
所以要区分“Linux内核”、“Linux系统”、“Linux发行套件”间的关系。
2. 什么是嵌入式Linux系统?
嵌入式Linux系统通常用于指一个完整的系统,表示以嵌入式系统为需求对象的发行套件。嵌入式Linux系统:使用Linux内核与各种其他软件;嵌入式Linux发行套件:为嵌入式系统与开发工具量身定制的软件套件,以便建立一个完整的系统。
嵌入式Linux发行套件所提供的开发工具可能包括:交叉编译器cross-compiler、调试器debugger、项目管理软件project management software、引导映像生成器boot image builder等。
3. 什么是实时Linux?
最初,实时Linux是指1996年开发的RTLinux项目。目标是在Linux环境下提供确定的响应时间。后来得到了扩展。
目前,Linux下有更多著名的实时项目,其中一个是替官方的Linux内核加入实时的支持。
4. Linux为何不能在32位以下的处理器上执行?
严格的讲,这句话并非完全准确。依据有人将Linux移植到一些奇怪的处理器上(比如16 bit),但是这样的话,你将孤立无援,得不到支持。
5. 实时操作系统
对于嵌入式来说,有两种时限类型:严格和宽松。严格时限要求系统必须在预定的时间之内作出反应。严格时限要求系统可分为:硬实时操作系统和软实时操作系统。
硬实时操作系统必须具备严格的时间要求,如大型切割机。
软实时操作系统也具备严格的时限要求,但是可容忍一时的失误。如偶尔的断讯、声音延迟等。
宽松时限要求系统需要额外的处理时间,往往看起来很慢,但是不影响结果。如取款机。
【下跌的IC间隔和网络标准化支持是人们选用Linux的一个因素】
6 选用Linux的理由
(1)程序代码的质量和可靠度。包括:模块与结构、可读性、可扩展、可设定、可预测、错误恢复、长期执行等。由于开放源码的开发模型,许多眼睛的协助下,质量可可靠性得到保障。
(2)程序代码的可用性。每个人都可以获取并修改。
(3)对硬件的支持。
(4)通信协议与软件标准。
(5)可用工具。
(6)社群的支持。
(7)许可。GPL、LGPL、BSD等等。
(8)不依赖特定厂商。
(9)成本。
7. 建立目标Linux系统
主要四个步骤:
(1) 决定系统组件。类似去超市之前写下采购单。
(2) 设定及建立内核。
(3) 建立跟文件系统。
(4) 设置引导软件与配置。