Linux内核简介、版本号与发布历史

简介:

说明:

    这篇文件来源与网络上,至于作者是谁就不知道了,不过确实是非常精简,所以这里就再发布,以作为自己收藏,同时也希望可以帮助到大家。





一.Linux 内核简介

    Linux 是最受欢迎的自由电脑操作系统内核。它是一个用C 语言写成,符合POSIX标准的类Unix 操作系统。Linux 最早是由芬兰黑客Linus Torvalds 为尝试在英特尔x86架构上提供自由免费的类Unix 操作系统而开发的。该计划开始于1991年,这里有一份Linus Torvalds 当时在Usenet 新闻组comp.os.minix 所登载的贴子,这份著名的贴子标志着Linux 计划的正式开始。

    在计划的早期有一些Minix 黑客提供了协助,而今天全球无数程序员正在为该计

划无偿提供帮助。

    技术上说Linux 是一个内核。“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核不是一套完整的操作系统。一套基于Linux 内核的完整操作系统叫作Linux 操作系统,或是GNU/Linux。

    Linux 是一个宏内核(monolithic kernel)系统。设备驱动程序可以完全访问硬件。Linux 内的设备驱动程序可以方便地以模块化(modularize)的形式设置,并在系统运行期间可直接装载或卸载。


Linux 内核组成部分:

进程管理(process management)、定时器(timer)、中断管理(interrupt management)、内存管理(memory management)、模块管理(module management)、虚拟文件系统接口(VFS layer)、文件系统(file system)、设备驱动程序(device driver)、进程间通信(inter-process communication)、网络管理(network management)、系统启动(system init)等操作系统功能的实现。





二.Linux 内核版本号


1.第一种方式

    

    内核是一个用来和硬件打交道并为用户程序提供一个有限服务集的低级支撑软件。一个计算机系统是一个硬件和软件的共生体,它们互相依赖,不可分割。

    Linux 的版本号分为两部分,即内核版本与发行版本。内核版本号由3个数字组成:r.x.y。各数字含义如下:

r:目前发布的内核主版本。

x:偶数表示稳定版本;奇数表示开发中版本。

y:错误修补的次数。


    一般来说,x 位为偶数的版本是一个可以使用的稳定版本,如2.4.4;x 位为奇数的版本一般加入了一些新的内容,不一定很稳定,是测试版本,如2.1.111。




2.第二种方式


    major.minor.patch-build.desc

    2.26.35-rc5

说明如下:

major
minor
patch build desc
表示主版本号,有结构性变化时才变更

表示次版本号,新增功能时才发生变化;一般奇数表示测试版,偶数

表示生产版

表示对次版本的修订次数或补丁包数

表示编译(或构建)的次数,每次编译可能对少量程序做优化或修改,但一般没有大的(可控的)功能变化

用来描述当前的版本特殊信息;其信息由编译时指定,具有较大的随意性,但也有一些描述标识是常用的

对于desc的说明如下:

rc smp
pp EL
mm
fc
(有时也用一个字母r),表示候选版本(release candidate),rc 后的数字表示该正式版本的第几个候选版本,多数情况下,各候选版本之间数字越大越接近

正式版

表示对称多处理器(Symmetric MultiProcessing) 在Red Hat Linux 中常用来表示测试版本(pre-patch) 在Red Hat Linux 中用来表示企业版Linux(Enterprise Linux) 表示专门用来测试新的技术或新功能的版本 在Red Hat Linux 中表示Fedora Core

    如果在生产机上,最好不要安装小版本号是奇数的内核。同样,pre-patch 的内核

版本也不建议安装在生产机上。





三、Linux内核的发布历史


    内核是Linux 系统的重要组成部分,每一次内核新版本的发布都受到Linux 爱好

者的关注,下面表格中列出了Linux 内核的重要发展事件。

内核版本号 时间
内核发展史
0.00
1991.2-4 两个进程分别显示AAA BBB
0.01
1991.9 第一个正式向外公布的Linux 内核版本
0.02 1991.10.5

Linus Torvalds 将当时最初的0.02内核版本发布到了Minix 新

闻组,很快就得到了反应。Linus Torvalds 在这种简单的任务

切换机制上进行扩展,并在很多热心支持者的帮助下开发和推出了Linux 的第一个稳定的工作版本。

0.03 1991.10.5
0.10 1991.10 Linux0.10版本内核发布,0.11版本随后在1991年12月推出,当

时它被发布在Internet 上,供人们免费使用。

0.11
1991.12.8 基本可以正常运行的内核版本
0.12 1992.1.15 主要加入对数学协处理器的软件模拟程序
0.95(0.13) 1992.3.8 开始加入虚拟文件系统思想的内核版本
0.96 1992.5.12 开始加入网络支持和虚拟文件系统
0.97 1992.8.1
0.98 1992.9.29
0.99 1992.12.13
1.0
1994.3.14

Linux1.0版本内核发布,使用它的用户越来越多,而且Linux 系统的核心开发队伍也建起来了。

1.2 1995.3.7
2.0
1996.2.9
2.2 1991.1.26
2.4 2001.1.4 Linux2.4.0版本内核发布。
2.6
2003.12.17

Linux2.6版本内核发布,与2.4内核版本相比,它在很多方面进

行了改进,如支持多处理器配置和64位计算,它还支持实现高效率线和处理的本机POSIX 线程库(NPTL)。实际上,性能、安全性和驱动程序的改进是整个2.6.x 内核的关键。

2.6.15 2006 Linux2.6.15版本内核发布。它对IPv6的支持在这个内核中有了

很大的改进。PowerPC 用户现在有了一个用于64 位和32 位

PowerPC 的泛型树,它使这两种架构上的内核编辑成为可能。

2.6.30
2009.6 改善了文件系统、加入了完整性检验补丁、TOMOYO Linux 安全

模块、可靠的数据报套接字(datagram socket)协议支持、对象存储设备支持、FS-Cache 文件系统缓存层、nilfs 文件系统、线程中断处理支持等等。

2.6.32
2009.12 增添了虚拟化内存de-duplicacion、重写了writeback 代码、

改进了Btrfs 文件系统、添加了ATI R600/R700 3D 和KMS 支持、CFQ 低传输延迟时间模式、perf timechart 工具、内存控制器支持soft limits、支持S+Core 架构、支持Intel Moorestown 及其新的固件接口、支持运行时电源管理、以及新的驱动。

2.6.34 2010.5

添加了Ceph 和LogFS 两个新的文件系统,其中前者为分布式的

文件系统,后者是适用于Flash 设备的文件系统。Linux Kernel 2.6.34的其他特性包括新的Vhost net、改进了Btrfs 文件系统、对Kprobes jump 进行了优化、新的perf 功能、RCU lockdep、Generalized TTL Security Mechanism (RFC 5082)及privateVLAN proxy arp (RFC 3069)支持、asynchronous 挂起恢复等等。

2.6.36
2010.10

Tilera 处理器架构支持、新的文件通知接口fanotify、Intel

显卡上实现KMS 和KDB 的整合、并行管理工作队列、Intel i3/5平台上内置显卡和CPU 的智能电源管理、CIFS 文件系统本地缓存、改善虚拟内存的层级结构,提升桌面操作响应速度、改善虚拟内存溢出终结器的算法、整合了AppArmor 安全模型(注:与SELinux 基于文件的标注不同,AppArmor 是基于路径的)。


相关文章
|
3天前
|
安全 Linux 虚拟化
|
13天前
|
安全 Linux 编译器
探索Linux内核的奥秘:从零构建操作系统####
本文旨在通过深入浅出的方式,带领读者踏上一段从零开始构建简化版Linux操作系统的旅程。我们将避开复杂的技术细节,以通俗易懂的语言,逐步揭开Linux内核的神秘面纱,探讨其工作原理、核心组件及如何通过实践加深理解。这既是一次对操作系统原理的深刻洞察,也是一场激发创新思维与实践能力的冒险。 ####
|
2天前
|
算法 Linux 定位技术
Linux内核中的进程调度算法解析####
【10月更文挑战第29天】 本文深入剖析了Linux操作系统的心脏——内核中至关重要的组成部分之一,即进程调度机制。不同于传统的摘要概述,我们将通过一段引人入胜的故事线来揭开进程调度算法的神秘面纱,展现其背后的精妙设计与复杂逻辑,让读者仿佛跟随一位虚拟的“进程侦探”,一步步探索Linux如何高效、公平地管理众多进程,确保系统资源的最优分配与利用。 ####
19 4
|
3天前
|
缓存 负载均衡 算法
Linux内核中的进程调度算法解析####
本文深入探讨了Linux操作系统核心组件之一——进程调度器,着重分析了其采用的CFS(完全公平调度器)算法。不同于传统摘要对研究背景、方法、结果和结论的概述,本文摘要将直接揭示CFS算法的核心优势及其在现代多核处理器环境下如何实现高效、公平的资源分配,同时简要提及该算法如何优化系统响应时间和吞吐量,为读者快速构建对Linux进程调度机制的认知框架。 ####
|
6天前
|
缓存 Linux
揭秘Linux内核:探索CPU拓扑结构
【10月更文挑战第26天】
20 1
|
6天前
|
缓存 运维 Linux
深入探索Linux内核:CPU拓扑结构探测
【10月更文挑战第18天】在现代计算机系统中,CPU的拓扑结构对性能优化和资源管理至关重要。了解CPU的核心、线程、NUMA节点等信息,可以帮助开发者和系统管理员更好地调优应用程序和系统配置。本文将深入探讨如何在Linux内核中探测CPU拓扑结构,介绍相关工具和方法。
8 0
|
15天前
|
网络协议 Linux 调度
深入探索Linux操作系统的心脏:内核与系统调用####
本文旨在揭开Linux操作系统中最为核心的部分——内核与系统调用的神秘面纱,通过生动形象的语言和比喻,让读者仿佛踏上了一段奇妙的旅程,从宏观到微观,逐步深入了解这两个关键组件如何协同工作,支撑起整个操作系统的运行。不同于传统的技术解析,本文将以故事化的方式,带领读者领略Linux内核的精妙设计与系统调用的魅力所在,即便是对技术细节不甚了解的读者也能轻松享受这次知识之旅。 ####
|
12天前
|
缓存 算法 安全
深入理解Linux操作系统的心脏:内核与系统调用####
【10月更文挑战第20天】 本文将带你探索Linux操作系统的核心——其强大的内核和高效的系统调用机制。通过深入浅出的解释,我们将揭示这些技术是如何协同工作以支撑起整个系统的运行,同时也会触及一些常见的误解和背后的哲学思想。无论你是开发者、系统管理员还是普通用户,了解这些基础知识都将有助于你更好地利用Linux的强大功能。 ####
22 1
|
12天前
|
缓存 编解码 监控
深入探索Linux内核调度机制的奥秘###
【10月更文挑战第19天】 本文旨在以通俗易懂的语言,深入浅出地剖析Linux操作系统内核中的进程调度机制,揭示其背后的设计哲学与实现策略。我们将从基础概念入手,逐步揭开Linux调度策略的神秘面纱,探讨其如何高效、公平地管理系统资源,以及这些机制对系统性能和用户体验的影响。通过本文,您将获得关于Linux调度机制的全新视角,理解其在日常计算中扮演的关键角色。 ###
38 1
|
13天前
|
Kubernetes Linux 测试技术