Linux是最受欢迎的自由笔记本操作系统内核。它是一个用C语言写成,符合POSIX标准的类Unix操作系统。Linux最早是由美国黑客LinusTorvalds为尝试在英特尔x86构架上提供自由免费的类Unix操作系统而开发的。该计划开始于1991年,这儿有一份LinusTorvalds当时在Usenet新闻组comp.os.minix所刊登的帖子,这份知名的帖子标志着Linux计划的即将开始。
在计划的初期有一些Minix黑客提供了协助,而明天全球无数程序员正在为该计划无偿提供帮助。
技术上说Linux是一个内核。“内核”指的是一个提供硬件具象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核不是一套完整的操作系统。一套基于Linux内核的完整操作系统叫作Linux操作系统,或是GNU/Linux。
Linux是一个宏内核(monolithickernel)系统。设备驱动程序可以完全访问硬件。Linux内的设备驱动程序可以便捷地以模块化(modularize)的方式设置,并在系统运行期间可直接装载或卸载。
Linux内核组成部份:
进程管理(processmanagement)、定时器(timer)、中断管理(interruptmanagement)、内存管理(memorymanagement)、模块管理(modulemanagement)、虚拟文件系统插口(VFSlayer)、文件系统(filesystem)、设备驱动程序(devicedriver)、进程间通讯(inter-processcommunication)、网络管理(networkmanagement)、系统启动(systeminit)等操作系统功能的实现。
二.Linux内核版本号
第一种形式:
内核是一个拿来和硬件打交道并为用户程序提供一个有限服务集的低级支撑软件。一个计算机系统是一个硬件和软件的共生体linux内核版本查询,它们相互依赖,不可分割。
Linux的版本号分为两部份,即内核版本与发行版本。内核版本号由3个数字组成:r.x.y。
r:目前发布的内核主版本。
x:质数表示稳定版本;质数表示开发中版本。
y:错误修复的次数。
通常来说,x位为质数的版本是一个可以使用的稳定版本,如2.4.4;x位为质数的版本通常加入了一些新的内容,不一定很稳定,是测试版本,如2.1.111。
第二种形式:
major.minor.patch-build.desc
2.26.35-rc5
1、major:表示主版本号,有结构性变化时才变更。
2、minor:表示次版本号,新增功能时才发生变化;通常质数表示测试版,奇数表示生产版。
3、patch:表示对次版本的修订次数或补丁包数。
4、build:表示编译(或建立)的次数,每次编译可能对少量程序做优化或更改,但通常没有大的(可控的)功能变化。
5、desc:拿来描述当前的版本特殊信息;其信息由编译时指定linux内核版本查询,具有较大的随便性,但也有一些描述标示是常用的,例如:
rc(有时也用一个字母r),表示候选版本(releasecandidate)linux系统装win7,rc后的数字表示该即将版本的第几个候选版本,多数情况下,各候选版本之间数字越大越接近即将版。
smp,表示对称多处理器(SymmetricMultiProcessing)。
pp,在RedHatLinux中常拿来表示测试版本(pre-patch)。
EL,在RedHatLinux中拿来表示企业版Linux(EnterpriseLinux)。
mm,表示专门拿来测试新的技术或新功能的版本。
fc,在RedHatLinux中表示FedoraCore。
若果在生产机上,最好不要安装小版本号是质数的内核。同样,pre-patch的内核版本也不建议安装在生产机上。
三.Linux内核的发布历史
内核是Linux系统的重要组成部份,每一次内核新版本的发布都遭到Linux爱好者的关注,下边表格中列举了Linux内核的重要发展风波。
内核版本号时间内核发展史
0.001991.2-4两个进程分别显示AAABBB
0.011991.9第一个即将向外公布的Linux内核版本
0.021991.10.5LinusTorvalds将当时最初的0.02内核版本发布到了Minix新闻组,很快就得到了反应。LinusTorvalds在这些简单的任务切换机制上进行扩充,并在好多热心支持者的帮助下开发和推出了Linux的第一个稳定的工作版本。
0.031991.10.5
0.101991.10Linux0.10版本内核发布,0.11版本随即在1991年12月推出,当时它被发布在Internet上,供人们免费使用。
0.111991.12.8基本可以正常运行的内核版本
0.121992.1.15主要加入对数学协处理器的软件模拟程序0.95(0.13)1992.3.8开始加入虚拟文件系统思想的内核版本0.961992.5.12开始加入网路支持和虚拟文件系统
0.971992.8.1
0.981992.9.29
0.991992.12.13
1.01994.3.14Linux1.0版本内核发布,使用它的用户越来越多,并且Linux系统的核心开发队伍也建上去了。
1.21995.3.7
2.01996.2.9
2.21999.1.26
2.42001.1.4Linux2.4.0版本内核发布。
2.6200
3.12.17Linux2.6版本内核发布linux多线程,与2.4内核版本相比,它在好多方面进行了改进,如支持多处理器配置和64位估算,它还支持实现高效率线和处理的本机POSIX线程库(NPTL)。实际上,性能、安全性和驱动程序的改进是整个2.6.x内核的关键。
2.6.152006Linux2.6.15版本内核发布。它对IPv6的支持在这个内核中有了很大的改进。PowerPC用户现今有了一个用于64位和32位PowerPC的类库树,它使这两种构架上的内核编辑成为可能。
2.6.302009.6改善了文件系统、加入了完整性检验补丁、TOMOYOLinux安全
模块、可靠的数据报套接字(datagramsocket)合同支持、对象
储存设备支持、FS-Cache文件系统缓存层、nilfs文件系统、线
程中断处理支持等等。
2.6.322009.12
平添了虚拟化显存de-duplicacion、重写了writeback代码、
改进了Btrfs文件系统、添加了ATIR600/R7003D和KMS支持、
CFQ低传输延后时间模式、perftimechart工具、内存控制器支
持softlimits、支持S+Core构架、支持IntelMoorestown及
其新的固件插口、支持运行时电源管理、以及新的驱动。
2.6.342010.5
添加了Ceph和LogFS两个新的文件系统,其中后者为分布式的
文件系统,前者是适用于Flash设备的文件系统。LinuxKernel
2.6.34的其他特点包括新的Vhostnet、改进了Btrfs文件系统、
对Kprobesjump进行了优化、新的perf功能、RCUlockdep、
GeneralizedTTLSecurityMechanism(RFC5082)及private
VLANproxyarp(RFC3069)支持、asynchronous挂起恢复等等。
2.6.362010.10
Tilera处理器构架支持、新的文件通知插口fanotify、Intel
主板上实现KMS和KDB的整合、并行管理工作队列、Inteli3/5
平台上外置主板和CPU的智能电源管理、CIFS文件系统本地缓
存、改善虚拟显存的层级结构,提高桌面操作响应速率、改善虚
拟显存溢出终结器的算法、整合了AppArmor安全模型(注:与
SELinux基于文件的标明不同,AppArmor是基于路径的)。