Linux最早是由芬兰的Linus Torvalds为在英特尔x86架构上提供一个自由免费的类Unix操作系统而开发的。准确来说,Linus Torvalds仅仅是完成了Linux 的“内核”。
也就是说 Linux 内核 =/= Linux操作系统。
现在PC机上比较流行的RedHat 、Ubuntu等等都是基于Linus Torvalds开发的Linux内核扩展、开发而来的。
关于Linux版本的问题:
Linux 和 微软的Windows不同,Linux的版本主要是由内核的版本和操作系统的版本2部分组成,当然桌面(Desktop)也可以单独算。
Linux操作系统
系统版本
Linux内核版本
1
Redhat
9.0
2.4.20
2
Redhat
AS 4.0
2.6.9-5.EL
3
Ubuntu
9.0
2.6.31-14
3
Ubuntu
10.0.1
2.6.32-21
3
Ubuntu
11.10
3.0.3
3
Ubuntu
12
3.0.3
从上表可以看出,不同的Linux的操作系统,可能会采用不同的Linux内核。
通常情况下,Linux内核的升级、更新速度要比Linux的操作系统升级速度快。因此,很多发烧友喜欢自己“编译内核”、“升级内核”。
一般地,可以从Linux内核版本号来区分系统是否是Linux稳定版还是测试版。以版本2.4.0为例,2代表主版本号,4代表次版本号,0代表改动较小的末版本号。在版本号中,序号的第二位为偶数的版本表明这是一个可以使用的稳定版本,如2.2.5,而序号的第二位为奇数的版本一般有一些新的东西加入,是个不一定很稳定的测试版本,如2.3.1。这样稳定版本来源于上一个测试版升级版本号,而一个稳定版本发展到完全成熟后就不再发展。
Linux核心的开发和规范一直是由Linux社区控制着,版本也是唯一的。操作系统的内核版本指的是在Linux本人领导下的开发小组开发出的系统内核的版本号。自1994年3月14日发布了第一个正式版本Linux 1.0以来,每隔一段时间就有新的版本或其修订版公布。
Linux内核的组成:
简单说,Linux内核就像人的“心脏”。
Linux内核由进程管理(process management)、定时器(timer)、中断管理(interrupt management)、内存管理(memory management)、模块管理(module management)、虚拟文件系统接口(VFS layer)、文件系统(file system)、设备驱动程序(device driver)、进程间通信(inter-process communication)、 网络管理(network management)等组成。
嵌入式Linux 和 PC机Linux操作系统启动的区别:
在PC机上,Linux通常情况下是通过lilo 或 grub启动的。
因为lilo存在着一个1024柱面的限制,并且更改了磁盘上的启动信息文件后需要重新启动系统才能同步446字节的内容,因为lilo的缺陷,已经被grub所取代.现在的绝大多数类linux系统都采用grub做boot
在嵌入式Linux上,例如ARM9(SC2410、SC6410等等),则是通过U-BOOT进行启动的。
无论是lilo、grub或u-boot都是负责“解压缩内核”、“加载内核”、“启动内核”这么几个过程。
注意:现在的Linux内核通常情况下都是压缩的。
嵌入式Linux内核 和 PC机Linux内核的区别
嵌入式Linux内核实际是Linux内核的一个裁剪版本,经过裁剪、定制、修改、交叉编译后得到的。因此,理论上,任何人都可以从Linux 内核官网下载最新的内核进行移植。
Linux内核定制
对于Linux的内核的定制,其实并不像想象中的那么复杂。通过结合“硬件”、“需求“的实际情况对Linux系统内核进行合理的修改,可以有效的简化Linux内核,去除不需要的组件,从而提供更快的系统启动速度,释放更多的内存资源。
感兴趣的朋友,可以先从PC机的Linux内核定制开始试试。