Linux 内核是整个 Linux 操作系统的核心,负责管理硬件资源、提供系统调用接口、管理进程和内存,并为上层所有软件提供基础服务。它由 Linus Torvalds 于 1991 年创建,至今已发展成为全球最大的开源协作项目之一。
Linux 内核的源代码仓库包含超过 3600 万行代码,有来自世界各地数千名开发者的贡献。从全球超过 90% 的超级计算机,到你手中的 Android 手机,再到互联网上大部分的服务器,它们都运行着 Linux 内核。该项目在 GitHub 上拥有超过 22.2 万 Star,是平台上最受关注的底层系统项目。
全球大部分服务器运行 Linux,包括 AWS、Google Cloud、Azure 等云平台。Linux 是互联网基础设施的基石。
Android 操作系统基于 Linux 内核构建,全球超过 30 亿台活跃设备运行着 Linux 内核。
全球 TOP500 超级计算机中超过 90% 运行 Linux,包括世界上最快的超级计算机。
路由器、智能电视、汽车信息娱乐系统、工业控制器等大量嵌入式设备采用 Linux 内核。
Ubuntu、Fedora、Arch Linux 等发行版为桌面用户提供了可靠的 Linux 桌面体验。
从智能家居设备到工业传感器,Linux 凭借灵活性和可裁剪性成为 IoT 领域的主流选择。
| 子系统 | 功能说明 | 相关文档 |
|---|---|---|
| 进程调度器 | 管理进程和线程的 CPU 时间分配,CFS 调度器确保公平性 | Documentation/scheduler/ |
| 内存管理 | 虚拟内存、物理页框管理、SLAB 分配器、OOM Killer | Documentation/mm/ |
| 文件系统(VFS) | 虚拟文件系统层,统一各种文件系统的访问接口 | Documentation/filesystems/ |
| 网络子系统 | 协议栈实现、Socket 接口、Netfilter、eBPF | Documentation/networking/ |
| 设备驱动 | 硬件抽象层,支持数以万计的硬件设备驱动程序 | Documentation/driver-api/ |
| 安全子系统 | LSM 框架、SELinux、AppArmor、密钥管理 | Documentation/security/ |
无论您是想使用 Linux 还是参与内核开发,以下是基本的入门步骤:
# 获取最新内核源码 git clone https://github.com/torvalds/linux.git cd linux # 使用当前系统配置作为基础 make defconfig # 编译内核(使用所有 CPU 核心) make -j$(nproc) # 安装模块和内核 sudo make modules_install sudo make install
内核开发者入门路线:
| 步骤 | 说明 |
|---|---|
| 1. 学习基础 | 熟悉 C 语言、操作系统原理和 Git 版本控制。 |
| 2. 阅读文档 | 阅读 Documentation/process/ 目录下的开发流程文档。 |
| 3. 编译内核 | 在虚拟机中成功编译和启动自定义内核。 |
| 4. 修复小问题 | 从代码风格修复或简单的 Bug Fix 开始提交补丁。 |
| 5. 提交补丁 | 使用 git format-patch 和 git send-email 向邮件列表提交补丁。 |
| 6. 加入社区 | 订阅相关子系统的邮件列表,参与代码评审和技术讨论。 |
uname -r 即可查看当前运行的内核版本。例如输出 6.8.0-45-generic 表示主版本 6.8,补丁版本 0,发行版特定修订 45。该仓库当前没有公开的 Issue,或 Issue 功能已禁用。