笔记:构建嵌入式Linux系统(第二版)—— 第一章 概述

时间:2022-02-20 08:18:06

第一章 概述


Linux OS1991年夏首度问世。最开始是由Linus Torvalds以源码形式发布,需要有足够的专业知识才能构建和安装。后续Linux早期的爱好者/开发者建立了第一个Linux软件发行套件Distribution,包括安装和使用一个Linux系统时需要用到的所有软件组件。

Linux的成果起源于之前许多项目的成果。Richard Stallman*软件基金会” Free Software Foundation, FSF开发和维护的软件统称为GNU GNU‘s Not UNIX)。GNU阐明了FSF的目标在于建立一个*的Unix-like系统。

【UNIX操作系统(尤尼斯),是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由KenThompsonDennis RitchieDouglas McIlroy1969年在AT&T的贝尔实验室开发。目前它的商标权由国际开放标准组织所拥有,只有符合单一UNIX规范的UNIX系统才能使用UNIX这个名称,否则只能称为类UNIXUNIX-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)许可。GPLLGPLBSD等等。

(8)不依赖特定厂商。

(9)成本。


7. 建立目标Linux系统

主要四个步骤:

(1) 决定系统组件。类似去超市之前写下采购单。

(2) 设定及建立内核。

(3) 建立跟文件系统。

(4) 设置引导软件与配置。