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 是基于路径的)。


相关文章
|
24天前
|
应用服务中间件 Linux nginx
【Azure App Service】基于Linux创建的App Service是否可以主动升级内置的Nginx版本呢?
基于Linux创建的App Service是否可以主动升级内置的Nginx版本呢?Web App Linux 默认使用的 Nginx 版本是由平台预定义的,无法更改这个版本。
134 77
|
1月前
|
安全 Linux 测试技术
Intel Linux 内核测试套件-LKVS介绍 | 龙蜥大讲堂104期
《Intel Linux内核测试套件-LKVS介绍》(龙蜥大讲堂104期)主要介绍了LKVS的定义、使用方法、测试范围、典型案例及其优势。LKVS是轻量级、低耦合且高代码覆盖率的测试工具,涵盖20多个硬件和内核属性,已开源并集成到多个社区CICD系统中。课程详细讲解了如何使用LKVS进行CPU、电源管理和安全特性(如TDX、CET)的测试,并展示了其在实际应用中的价值。
|
1月前
|
Ubuntu Linux 开发者
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
111 15
|
3月前
|
负载均衡 算法 Linux
深入探索Linux内核调度器:公平与效率的平衡####
本文通过剖析Linux内核调度器的工作机制,揭示了其在多任务处理环境中如何实现时间片轮转、优先级调整及完全公平调度算法(CFS),以达到既公平又高效地分配CPU资源的目标。通过对比FIFO和RR等传统调度策略,本文展示了Linux调度器如何在复杂的计算场景下优化性能,为系统设计师和开发者提供了宝贵的设计思路。 ####
89 26
|
2月前
|
算法 Linux
深入探索Linux内核的内存管理机制
本文旨在为读者提供对Linux操作系统内核中内存管理机制的深入理解。通过探讨Linux内核如何高效地分配、回收和优化内存资源,我们揭示了这一复杂系统背后的原理及其对系统性能的影响。不同于常规的摘要,本文将直接进入主题,不包含背景信息或研究目的等标准部分,而是专注于技术细节和实际操作。
|
2月前
|
存储 缓存 网络协议
Linux操作系统的内核优化与性能调优####
本文深入探讨了Linux操作系统内核的优化策略与性能调优方法,旨在为系统管理员和高级用户提供一套实用的指南。通过分析内核参数调整、文件系统选择、内存管理及网络配置等关键方面,本文揭示了如何有效提升Linux系统的稳定性和运行效率。不同于常规摘要仅概述内容的做法,本摘要直接指出文章的核心价值——提供具体可行的优化措施,助力读者实现系统性能的飞跃。 ####
|
2月前
|
监控 算法 Linux
Linux内核锁机制深度剖析与实践优化####
本文作为一篇技术性文章,深入探讨了Linux操作系统内核中锁机制的工作原理、类型及其在并发控制中的应用,旨在为开发者提供关于如何有效利用这些工具来提升系统性能和稳定性的见解。不同于常规摘要的概述性质,本文将直接通过具体案例分析,展示在不同场景下选择合适的锁策略对于解决竞争条件、死锁问题的重要性,以及如何根据实际需求调整锁的粒度以达到最佳效果,为读者呈现一份实用性强的实践指南。 ####
|
2月前
|
缓存 监控 网络协议
Linux操作系统的内核优化与实践####
本文旨在探讨Linux操作系统内核的优化策略与实际应用案例,深入分析内核参数调优、编译选项配置及实时性能监控的方法。通过具体实例讲解如何根据不同应用场景调整内核设置,以提升系统性能和稳定性,为系统管理员和技术爱好者提供实用的优化指南。 ####
|
2月前
|
负载均衡 算法 Linux
深入探索Linux内核调度机制:公平与效率的平衡####
本文旨在剖析Linux操作系统内核中的进程调度机制,特别是其如何通过CFS(完全公平调度器)算法实现多任务环境下资源分配的公平性与系统响应速度之间的微妙平衡。不同于传统摘要的概览性质,本文摘要将直接聚焦于CFS的核心原理、设计目标及面临的挑战,为读者揭开Linux高效调度的秘密。 ####
60 3
|
2月前
|
消息中间件 安全 Linux
深入探索Linux操作系统的内核机制
本文旨在为读者提供一个关于Linux操作系统内核机制的全面解析。通过探讨Linux内核的设计哲学、核心组件、以及其如何高效地管理硬件资源和系统操作,本文揭示了Linux之所以成为众多开发者和组织首选操作系统的原因。不同于常规摘要,此处我们不涉及具体代码或技术细节,而是从宏观的角度审视Linux内核的架构和功能,为对Linux感兴趣的读者提供一个高层次的理解框架。