跳转到内容

Linux内核:修订间差异

轻之舟百科,让知识轻装启航
删除的内容 添加的内容
云云​(留言 | 贡献)
创建页面,内容为“{{Infobox|标题=Linux内核|内容={{!}}- ! 英文名 {{!}} Linux kernel<ref name=":1" /> {{!}}- ! 开发者 {{!}} 林纳斯·托瓦兹(Linus Torvalds)及全球社区贡献者<ref name=":1" /><ref name=":9" /> {{!}}- ! 首次发布 {{!}} 0.02版 / 1991年10月5日<ref name=":1" /><ref name=":2" /> {{!}}- ! 当前版本 {{!}} 稳定版:7.1.1(2026年6月19日)<ref name=":3" /><br>长期支持版(LTS):6.18.21(2026年4月2日)<re…”
 
IdleTap-bot​(留言 | 贡献)
由旧格式Infobox转换为新参数格式(label/data),修复空信息框(由IdleTap-bot执行)
 
(未显示另一用户的1个中间版本)
第1行: 第1行:
{{Infobox|标题=Linux内核|内容={{!}}-
{{Infobox
| title = Linux内核
⚫
! 英文名

⚫
{{!}} Linux kernel<ref name=":1" />
⚫
| label1 = 英文名
{{!}}-
⚫
| data1 = Linux kernel<ref name=":1" />
⚫
! 开发者

⚫
{{!}} [[林纳斯·托瓦兹]](Linus Torvalds)及全球社区贡献者<ref name=":1" /><ref name=":9" />
⚫
| label2 = 开发者
{{!}}-
⚫
| data2 = [[林纳斯·托瓦兹]](Linus Torvalds)及全球社区贡献者<ref name=":1" /><ref name=":9" />
⚫
! 首次发布

⚫
{{!}} 0.02版 / 1991年10月5日<ref name=":1" /><ref name=":2" />
⚫
| label3 = 首次发布
{{!}}-
⚫
| data3 = 0.02版 / 1991年10月5日<ref name=":1" /><ref name=":2" />
⚫
! 当前版本

⚫
{{!}} 稳定版:7.1.1(2026年6月19日)<ref name=":3" /><br>长期支持版(LTS):6.18.21(2026年4月2日)<ref name=":3" />
⚫
| label4 = 当前版本
{{!}}-
⚫
| data4 = 稳定版:7.1.1(2026年6月19日)<ref name=":3" /><br>长期支持版(LTS):6.18.21(2026年4月2日)<ref name=":3" />
⚫
! 编程语言

⚫
{{!}} [[C语言]]、[[汇编语言]]、[[Rust]]<ref name=":3" /><ref name=":8" />
⚫
| label5 = 编程语言
{{!}}-
⚫
| data5 = [[C语言]]、[[汇编语言]]、[[Rust]]<ref name=":3" /><ref name=":8" />
⚫
! 内核类别

⚫
{{!}} [[整块性核心]](Monolithic kernel)<ref name=":0" /><ref name=":7" />
⚫
| label6 = 内核类别
{{!}}-
⚫
| data6 = [[整块性核心]](Monolithic kernel)<ref name=":0" /><ref name=":7" />
⚫
! 许可证

⚫
{{!}} [[GNU通用公共许可证]]第二版(GPL-2.0-only)<ref name=":4" /><ref name=":5" />
⚫
| label7 = 许可证
{{!}}-
⚫
| data7 = [[GNU通用公共许可证]]第二版(GPL-2.0-only)<ref name=":4" /><ref name=":5" />
⚫
! 官方网站

⚫
{{!}} [https://www.kernel.org/ www.kernel.org]}}'''Linux内核'''(英语:Linux kernel)是一个[[自由及开放源代码软件|自由及开放源代码]]的[[类Unix系统|类Unix]][[操作系统内核]]<ref name=":1">[[wikipedia:Linux_kernel|Linux kernel — Wikipedia]]</ref><ref name=":9">[https://baike.baidu.com/item/Linux%E5%86%85%E6%A0%B8 Linux内核 — 百度百科]</ref>。该内核由芬兰开发者[[林纳斯·托瓦兹]](Linus Torvalds)于1991年创建,最初是为在[[英特尔]][[x86]]架构上提供自由免费的类Unix操作系统而开发<ref name=":0">[https://baike.baidu.com/item/Linux%20Kernel Linux Kernel — 百度百科]</ref><ref name=":10">[https://baike.baidu.com/item/linux%E5%86%85%E6%A0%B8 Linux内核 — 百度百科]</ref>。Linux内核是[[Linux]]操作系统家族的核心组件,被广泛应用于个人计算机、服务器、移动设备(如[[Android]])及各类嵌入式系统<ref name=":1" /><ref name=":9" />。内核采用[[C语言]]编写,遵循[[GNU通用公共许可证]]第二版(GPL-2.0)发布<ref name=":4">[https://www.kernel.org/ Linux内核官方网站 — kernel.org]</ref><ref name=":5">[https://docs.kernel.org/process/license-rules.html Linux内核许可规则 — kernel.org]</ref>,由全球数千名开发者共同维护<ref name=":9" />。Linux内核是一个[[整块性核心]](monolithic kernel)系统,其核心功能包括内存管理、进程调度、文件系统操作及设备驱动等<ref name=":0" /><ref name=":7">[https://baike.baidu.com/item/单内核 单内核 — 百度百科]</ref>。
⚫
| label8 = 官方网站
| data8 = [https://www.kernel.org/ www.kernel.org]
⚫
}}'''Linux内核'''([[英语]]:Linux kernel)是一个[[自由及开放源代码软件|自由及开放源代码]]的[[类Unix系统|类Unix]][[操作系统内核]]<ref name=":1">[[wikipedia:Linux_kernel|Linux kernel — Wikipedia]]</ref><ref name=":9">[https://baike.baidu.com/item/Linux%E5%86%85%E6%A0%B8 Linux内核 — 百度百科]</ref>。该内核由芬兰开发者[[林纳斯·托瓦兹]](Linus Torvalds)于1991年创建,最初是为在[[英特尔]][[x86]][[架构]]上提供自由免费的类[[Unix]][[操作系统]]而开发<ref name=":0">[https://baike.baidu.com/item/Linux%20Kernel Linux Kernel — 百度百科]</ref><ref name=":10">[https://baike.baidu.com/item/linux%E5%86%85%E6%A0%B8 Linux内核 — 百度百科]</ref>。Linux内核是[[Linux]]操作系统家族的核心组件,被广泛应用于个人[[计算机]]、[[服务器]]、移动设备(如[[Android]])及各类嵌入式系统<ref name=":1" /><ref name=":9" />。内核采用[[C语言]]编写,遵循[[GNU通用公共许可证]]第二版([[GPL]]-2.0)发布<ref name=":4">[https://www.kernel.org/ Linux内核官方网站 — kernel.org]</ref><ref name=":5">[https://docs.kernel.org/process/license-rules.html Linux内核许可规则 — kernel.org]</ref>,由[[全球]]数千名开发者共同维护<ref name=":9" />。Linux内核是一个[[整块性核心]](monolithic kernel)系统,其核心功能包括内存管理、进程调度、文件系统操作及设备驱动等<ref name=":0" /><ref name=":7">[https://baike.baidu.com/item/单内核 单内核 — 百度百科]</ref>。


== 历史 ==
== 历史 ==
第41行: 第44行:
Linux内核由多个子系统组成,主要包括<ref name=":0" /><ref name=":5" /><ref name=":7" />:
Linux内核由多个子系统组成,主要包括<ref name=":0" /><ref name=":5" /><ref name=":7" />:


* '''系统调用接口'''(System Call Interface,SCI):提供从用户空间到内核空间的函数调用机制,是应用程序与内核交互的入口<ref name=":5" />。
* '''系统调用接口'''(System Call Interface,SCI):提供从[[用户]]空间到内核空间的函数调用机制,是应用程序与内核交互的入口<ref name=":5" />。
* '''进程管理'''(Process Management):负责进程的创建、调度、终止以及进程间通信(IPC)。进程调度器(Process Scheduler)管理CPU资源,确保各进程以公平的方式访问CPU<ref name=":5" /><ref name=":8" />。
* '''进程管理'''(Process Management):负责进程的创建、调度、终止以及进程间通信(IPC)。进程调度器(Process Scheduler)管理[[CPU]]资源,确保各进程以公平的方式访问CPU<ref name=":5" /><ref name=":8" />。
* '''内存管理'''(Memory Management):管理系统的物理内存和虚拟内存,提供内存分配、回收、分页及交换等功能<ref name=":0" /><ref name=":5" />。
* '''内存管理'''(Memory Management):管理系统的物理内存和虚拟内存,提供内存分配、回收、分页及交换等功能<ref name=":0" /><ref name=":5" />。
* '''虚拟文件系统'''(Virtual File System,VFS):为不同的文件系统(如[[ext4]]、[[XFS]]、[[Btrfs]]等)提供统一的抽象接口<ref name=":5" /><ref name=":0" />。
* '''虚拟文件系统'''(Virtual File System,VFS):为不同的文件系统(如[[ext4]]、[[XFS]]、[[Btrfs]]等)提供统一的抽象接口<ref name=":5" /><ref name=":0" />。
第49行: 第52行:


== 版本与发布 ==
== 版本与发布 ==
Linux内核使用语义化版本号,格式为A.B.C<ref name=":2" /><ref name=":7" />。主版本号A在内核发生重大变化时递增(历史上仅发生过数次)<ref name=":7" />。次版本号B为偶数时代表稳定版本(stable),适合生产环境使用;为奇数时代表开发版本(development),包含实验性功能<ref name=":2" /><ref name=":7" />。补丁版本号C用于修复bug和安全问题<ref name=":7" />。
Linux内核使用语义化版本号,格式为A.B.C<ref name=":2" /><ref name=":7" />。主版本号A在内核发生重大变化时递增(历史上仅发生过数次)<ref name=":7" />。次版本号B为[[偶数]]时代表稳定版本(stable),适合生产环境使用;为奇数时代表开发版本(development),包含实验性功能<ref name=":2" /><ref name=":7" />。补丁版本号C用于修复bug和安全问题<ref name=":7" />。


内核同时维护多个版本的发布渠道<ref name=":3">[https://zh.wikipedia.org/wiki/Linux%E5%86%85%E6%A0%B8 Linux內核 — 维基百科(繁体中文)]</ref>:
内核同时维护多个版本的发布渠道<ref name=":3">[https://zh.wikipedia.org/wiki/Linux%E5%86%85%E6%A0%B8 Linux內核 — 维基百科(繁体中文)]</ref>:
第61行: 第64行:


== 应用与影响 ==
== 应用与影响 ==
Linux内核是全球使用最广泛的操作系统内核之一<ref name=":1" />。基于Linux内核的操作系统(即[[Linux发行版]])被部署在个人计算机、服务器、超级计算机、移动设备([[Android]])及各类嵌入式设备(如路由器、智能电视、网络附加存储等)中<ref name=":1" /><ref name=":9" />。Android作为基于Linux内核的操作系统,运行在全球数十亿移动设备上<ref name=":1" />。
Linux内核是全球使用最广泛的操作系统内核之一<ref name=":1" />。基于Linux内核的操作系统(即[[Linux发行版]])被部署在个人计算机、服务器、超级计算机、移动设备([[Android]])及各类嵌入式设备(如路由器、智能电视、网络附加[[存储]]等)中<ref name=":1" /><ref name=":9" />。Android作为基于Linux内核的操作系统,运行在全球数十亿移动设备上<ref name=":1" />。


Linux内核的开发由[[Linux基金会]]协调,全球数千名开发者参与贡献<ref name=":10" />。内核的开发模式对开源软件运动产生了深远影响,被视为大规模分布式协作开发的典范<ref name=":1" />。
Linux内核的开发由[[Linux基金会]]协调,全球数千名开发者参与贡献<ref name=":10" />。内核的开发模式对开源[[软件]]运动产生了深远影响,被视为大规模分布式协作开发的典范<ref name=":1" />。


== 参考文献 ==
== 参考文献 ==

2026年8月11日 (二) 10:21的最新版本

Linux内核
英文名Linux kernel[1]
开发者林纳斯·托瓦兹(Linus Torvalds)及全球社区贡献者[1][2]
首次发布0.02版 / 1991年10月5日[1][3]
当前版本稳定版:7.1.1(2026年6月19日)[4]
长期支持版(LTS):6.18.21(2026年4月2日)[4]
编程语言C语言、汇编语言、Rust[4][5]
内核类别整块性核心(Monolithic kernel)[6][7]
许可证GNU通用公共许可证第二版(GPL-2.0-only)[8][9]
官方网站www.kernel.org

Linux内核(英语:Linux kernel)是一个自由及开放源代码的类Unix操作系统内核[1][2]。该内核由芬兰开发者林纳斯·托瓦兹(Linus Torvalds)于1991年创建,最初是为在英特尔x86架构上提供自由免费的类Unix操作系统而开发[6][10]。Linux内核是Linux操作系统家族的核心组件,被广泛应用于个人计算机、服务器、移动设备(如Android)及各类嵌入式系统[1][2]。内核采用C语言编写,遵循GNU通用公共许可证第二版(GPL-2.0)发布[8][9],由全球数千名开发者共同维护[2]。Linux内核是一个整块性核心(monolithic kernel)系统,其核心功能包括内存管理、进程调度、文件系统操作及设备驱动等[6][7]。

1991年,林纳斯·托瓦兹在赫尔辛基大学学习期间开始开发一个自由的类Unix操作系统内核[1][2]。该项目的灵感来源于Minix操作系统,但托瓦兹希望创建一个可以在英特尔80386处理器上充分利用其32位特性的内核[6][7]。1991年9月17日,托瓦兹在comp.os.minix新闻组上发布了Linux内核的0.01版本[6][7]。同年10月5日,0.02版本公开发布,这是第一个可用的版本[1][3]。1991年12月,0.11版本发布,成为第一个可以自行编译(self-hosted)的内核版本[3]。

1992年2月,0.12版本发布,托瓦兹在此版本中将许可证切换为GNU通用公共许可证(GPL)[3][11]。这一决定使得Linux内核能够与GNU计划的工具链结合,形成完整的GNU/Linux操作系统[1]。1994年3月14日,Linux 1.0.0版本正式发布,标志着内核的第一个稳定版本[6][7]。1996年6月9日,Linux 2.0版本发布,引入了对多处理器(SMP)架构的支持[6][3]。

2003年12月,Linux 2.6版本发布,带来了对64位计算、本机POSIX线程库(NPTL)等多项重大改进[3]。2011年,Linux 3.0版本发布,恰逢内核诞生20周年[3]。此后内核采用更快的发布周期,约每2至3个月发布一个新版本[3]。2015年,Linux 4.0版本发布,引入了内核热补丁(live patching)功能[3]。2019年,Linux 5.0版本发布[3]。2026年4月14日,Linux 7.0内核正式发布,版本号由6.19变更为7.0,主要因托瓦兹认为6.19版本号过长[10]。Linux 7.0正式结束了Rust语言的“试验期”,确立了其在内核中的长期支持地位[10]。

架构与设计

[编辑 | 编辑源代码]

Linux内核采用整块性核心(monolithic kernel)架构,即整个操作系统内核运行在单一的地址空间中[6][7]。所有内核模块(如设备驱动程序、文件系统、网络协议栈等)共享同一内存空间,模块之间通过直接调用函数进行通信[7]。这种设计简化了内核内部的交互,提高了运行效率[7]。

尽管是整块性核心,Linux内核支持动态加载和卸载内核模块(Loadable Kernel Modules,LKM)[1][2]。设备驱动程序可以以模块化的形式设置,并在系统运行期间直接装载或卸载,无需重新编译整个内核或重启系统[6][7]。

Linux内核支持多种指令集架构,包括x86、ARM、RISC-V、PowerPC、SPARC等[5][10]。内核通过架构抽象层(Arch abstraction layer)抹去不同硬件架构之间的差异,提供统一的接口[9]。

主要子系统

[编辑 | 编辑源代码]

Linux内核由多个子系统组成,主要包括[6][9][7]:

  • 系统调用接口(System Call Interface,SCI):提供从用户空间到内核空间的函数调用机制,是应用程序与内核交互的入口[9]。
  • 进程管理(Process Management):负责进程的创建、调度、终止以及进程间通信(IPC)。进程调度器(Process Scheduler)管理CPU资源,确保各进程以公平的方式访问CPU[9][5]。
  • 内存管理(Memory Management):管理系统的物理内存和虚拟内存,提供内存分配、回收、分页及交换等功能[6][9]。
  • 虚拟文件系统(Virtual File System,VFS):为不同的文件系统(如ext4、XFS、Btrfs等)提供统一的抽象接口[9][6]。
  • 网络堆栈(Network Stack):实现各种网络协议(如TCP/IP),管理网络设备的通信[6][9]。
  • 设备驱动程序(Device Drivers):控制和管理硬件设备,是内核与硬件交互的桥梁[6][7]。

版本与发布

[编辑 | 编辑源代码]

Linux内核使用语义化版本号,格式为A.B.C[3][7]。主版本号A在内核发生重大变化时递增(历史上仅发生过数次)[7]。次版本号B为偶数时代表稳定版本(stable),适合生产环境使用;为奇数时代表开发版本(development),包含实验性功能[3][7]。补丁版本号C用于修复bug和安全问题[7]。

内核同时维护多个版本的发布渠道[4]:

  • 主线版本(Mainline):由托瓦兹维护,每2至3个月发布一个新版本[4]。
  • 稳定版本(Stable):在主线版本发布后,继续修复关键bug和安全问题[4]。
  • 长期支持版本(Long-Term Support,LTS):为特定版本提供长达数年的维护支持,适用于需要长期稳定的生产环境[4][8]。

许可证

[编辑 | 编辑源代码]

Linux内核根据GNU通用公共许可证第二版(GPL-2.0-only)的条款发布[8][9]。内核源代码在COPYING文件中明确指定了许可证条款,并包含Linux系统调用例外(Linux-syscall-note),允许用户空间程序通过系统调用接口与内核交互而不受GPL的“传染性”约束[8][9]。单个源文件可以拥有不同的许可证,但必须与GPL-2.0兼容[9]。

应用与影响

[编辑 | 编辑源代码]

Linux内核是全球使用最广泛的操作系统内核之一[1]。基于Linux内核的操作系统(即Linux发行版)被部署在个人计算机、服务器、超级计算机、移动设备(Android)及各类嵌入式设备(如路由器、智能电视、网络附加存储等)中[1][2]。Android作为基于Linux内核的操作系统,运行在全球数十亿移动设备上[1]。

Linux内核的开发由Linux基金会协调,全球数千名开发者参与贡献[10]。内核的开发模式对开源软件运动产生了深远影响,被视为大规模分布式协作开发的典范[1]。

参考文献

[编辑 | 编辑源代码]