进一步内核文档索引

在 linux-kernel 邮件列表中,由于不断出现相同的问题,要求提供信息的线索,因此编写像本文档这样的文档的需求变得显而易见。

幸运的是,随着越来越多的人接触 GNU/Linux,越来越多的人对内核感兴趣。但是阅读源代码并不总是足够。很容易理解代码,但会错过代码背后的概念、理念和设计决策。

不幸的是,没有太多可供初学者入门的文档。而且,即使存在这些文档,也没有一个“广为人知”的地方来跟踪它们。本文档试图弥补这一不足。

请注意,如果您知道任何未在此处列出的论文或编写了新文档,请按照内核的补丁提交流程在此处包含对它的引用。也欢迎任何更正、想法或评论。

所有文档都使用以下字段进行编目:文档的“标题”、“作者”、“URL”(可以在其中找到它们)、在搜索特定主题时有帮助的“关键字”以及文档的简短“描述”。

注意

本文档每个部分中的文档按其发布日期排序,从最新到最旧。维护者应定期淘汰已过时或过期的资源;基础书籍除外。

Linux 内核树中的文档

Sphinx 书籍应使用 make {htmldocs | pdfdocs | epubdocs} 构建。

  • 名称:linux/Documentation

    作者:

    许多人。

    位置:

    Documentation/

    关键字:

    文本文件, Sphinx。

    描述:

    内核源代码附带的文档,位于 Documentation 目录中。本文档中的某些页面(包括本文档本身)已移动到那里,并且可能比 Web 版本更新。

在线文档

  • 标题:Linux 内核邮件列表词汇表

    作者:

    各种

    URL:

    https://kernelnewbies.org/KernelGlossary

    日期:

    滚动版本

    关键字:

    词汇表,术语,linux-kernel。

    描述:

    摘自导言:“本词汇表旨在简要描述您在讨论 Linux 内核时可能听到的一些首字母缩略词和术语”。

  • 标题:Linux 内核模块编程指南

    作者:

    Peter Jay Salzman、Michael Burian、Ori Pomerantz、Bob Mottram、Jim Huang。

    URL:

    https://sysprog21.github.io/lkmpg/

    日期:

    2021

    关键字:

    模块, GPL 书籍, /proc, ioctl, 系统调用, 中断处理程序。

    描述:

    一本关于模块编程主题的非常好的 GPL 书籍。大量示例。目前,新版本正在 https://github.com/sysprog21/lkmpg 上积极维护。

已出版的书籍

  • 标题:实用 Linux 系统管理:安装、配置和管理指南,第 1 版

    作者:

    Kenneth Hess

    出版商:

    O’Reilly Media

    日期:

    2023 年 5 月

    页数:

    246

    ISBN:

    978-1098109035

    备注:

    系统管理

  • 标题:Linux 内核调试:利用经过验证的工具和高级技术有效地调试 Linux 内核和内核模块

    作者:

    Kaiwan N Billimoria

    出版商:

    Packt Publishing Ltd

    日期:

    2022 年 8 月

    页数:

    638

    ISBN:

    978-1801075039

    备注:

    调试书籍

  • 标题:Linux 内核编程:内核内部结构、编写内核模块和内核同步的综合指南

    作者:

    Kaiwan N Billimoria

    出版商:

    Packt Publishing Ltd

    日期:

    2021 年 3 月(第二版于 2024 年出版)

    页数:

    754

    ISBN:

    978-1789953435(第二版 ISBN 为 978-1803232225)

  • 标题:Linux 内核编程第 2 部分 - 字符设备驱动程序和内核同步:创建用户-内核接口、使用外围 I/O 和处理硬件中断

    作者:

    Kaiwan N Billimoria

    出版商:

    Packt Publishing Ltd

    日期:

    2021 年 3 月

    页数:

    452

    ISBN:

    978-1801079518

  • 标题:Linux 系统编程:直接与内核和 C 库对话

    作者:

    Robert Love

    出版商:

    O’Reilly Media

    日期:

    2013 年 6 月

    页数:

    456

    ISBN:

    978-1449339531

    备注:

    基础书籍

  • 标题:Linux 内核开发,第 3 版

    作者:

    Robert Love

    出版商:

    Addison-Wesley

    日期:

    2010 年 7 月

    页数:

    440

    ISBN:

    978-0672329463

    备注:

    基础书籍

  • 标题:Linux 设备驱动程序,第 3 版

    作者:

    Jonathan Corbet、Alessandro Rubini 和 Greg Kroah-Hartman

    出版商:

    O’Reilly & Associates

    日期:

    2005

    页数:

    636

    ISBN:

    0-596-00590-3

    备注:

    基础书籍。更多信息请访问 http://www.oreilly.com/catalog/linuxdrive3/。PDF 格式,URL:https://lwn.net/Kernel/LDD3/

  • 标题:UNIX 操作系统设计

    作者:

    Maurice J. Bach

    出版商:

    Prentice Hall

    日期:

    1986

    页数:

    471

    ISBN:

    0-13-201757-1

    备注:

    基础书籍

其他

  • 名称:Linux 交叉引用

    URL:

    https://elixir.bootlin.com/

    关键字:

    浏览源代码。

    描述:

    另一个基于 Web 的 Linux 内核源代码浏览器。大量对变量和函数的交叉引用。您可以查看它们的定义位置以及它们的使用位置。

  • 名称:Linux 每周新闻

    URL:

    https://lwn.net

    关键字:

    最新的内核新闻。

    描述:

    标题说明了一切。有一个固定的内核部分总结了开发人员的工作、错误修复、新功能和一周内产生的版本。

  • 名称:Linux-MM 的主页

    作者:

    Linux-MM 团队。

    URL:

    https://linux-mm.org/

    关键字:

    内存管理, Linux-MM, mm 补丁, TODO, 文档, 邮件列表。

    描述:

    致力于 Linux 内存管理开发的站点。与内存相关的补丁、HOWTO、链接、mm 开发人员... 如果您对内存管理开发感兴趣,请不要错过它!

  • 名称:Kernel Newbies IRC 频道和网站

    URL:

    https://www.kernelnewbies.org

    关键字:

    IRC, 新手, 频道, 提出疑问。

    描述:

    irc.oftc.net 上的 #kernelnewbies。#kernelnewbies 是一个致力于“新手”内核黑客的 IRC 网络。受众主要由正在学习内核、从事内核项目或想要帮助经验不足的内核人员的专业内核黑客组成。#kernelnewbies 在 OFTC IRC 网络上。尝试使用 irc.oftc.net 作为您的服务器,然后 /join #kernelnewbies。kernelnewbies 网站还托管文章、文档、FAQ...

  • 名称:linux-kernel 邮件列表存档和搜索引擎

    URL:

    https://subspace.kernel.org

    URL:

    https://lore.kernel.org

    关键字:

    linux-kernel, 存档, 搜索。

    描述:

    一些 linux-kernel 邮件列表存档器。如果您有更好/另一个,请告诉我。

  • 名称:Linux 基金会 YouTube 频道

    URL:

    https://www.youtube.com/user/thelinuxfoundation

    关键字:

    linux, 视频, linux-foundation, youtube。

    描述:

    Linux 基金会上传其协作活动的视频录像、包括 LinuxCon 在内的 Linux 会议以及其他与 Linux 和软件开发相关的原创研究和内容。

Rust

  • 标题:Linux 的 Rust

    作者:

    各种

    URL:

    https://rust-for-linux.com/

    日期:

    滚动版本

    关键字:

    词汇表,术语,linux-kernel, rust。

    描述:

    摘自该网站:“Linux 的 Rust 是一个为 Linux 内核添加 Rust 语言支持的项目。本网站旨在作为与该项目相关的链接、文档和资源的中心”。

  • 标题:以危险的方式学习 Rust

    作者:

    Cliff L. Biffle

    URL:

    https://cliffle.com/p/dangerust/

    日期:

    访问日期:2024 年 9 月 11 日

    关键字:

    rust, 博客。

    描述:

    摘自该网站:“LRtDW 是一系列文章,为可能没有正式 CS 背景的底层 C 程序员提供 Rust 功能的上下文,例如那些从事固件、游戏引擎、OS 内核等工作的人。基本上,像我这样的人。” 它逐行说明了从 C 到 Rust 的转换。

  • 标题:Rust 书籍

    作者:

    Steve Klabnik 和 Carol Nichols,以及 Rust 社区的贡献

    URL:

    https://doc.rust-lang.net.cn/book/

    日期:

    访问日期:2024 年 9 月 11 日

    关键字:

    rust, 书籍。

    描述:

    摘自该网站:“这本书充分利用了 Rust 赋予其用户的潜力。它是一本友好且平易近人的文本,旨在帮助您不仅提升对 Rust 的知识,而且还提升您作为程序员的覆盖范围和信心。因此,请深入研究,准备学习,欢迎加入 Rust 社区!”

  • 标题:面向多语言程序员的 Rust

    作者:

    Ian Jackson

    URL:

    https://www.chiark.greenend.org.uk/~ianmdlvl/rust-polyglot/index.html

    日期:

    2022 年 12 月

    关键字:

    rust, 博客, 工具。

    描述:

    摘自该网站:“有很多关于 Rust 的指南和介绍。这个指南有些不同:它是为已经了解许多其他编程语言的经验丰富的程序员设计的。我试图足够全面,可以作为 Rust 任何领域的起点,但避免过于详细,除非某些地方不如您期望的那样。此外,本指南并非完全没有观点,包括对库(crate)、工具等的建议。”

  • 标题:Fasterthanli.me

    作者:

    Amos Wenger

    URL:

    https://fasterthanli.me/

    日期:

    访问日期:2024 年 9 月 11 日

    关键字:

    rust, 博客, 新闻。

    描述:

    摘自该网站:“我制作有关计算机工作原理的文章和视频。我的内容是长篇的、有教益的和探索性的,并且经常是教授 Rust 的借口!”

  • 标题:综合 Rust

    作者:

    Google 的 Android 团队

    URL:

    https://google.github.io/comprehensive-rust/

    日期:

    访问日期:2024 年 9 月 13 日

    关键字:

    rust, 博客。

    描述:

    摘自该网站:“该课程涵盖了 Rust 的所有方面,从基本语法到高级主题,如泛型和错误处理”。

  • 标题:嵌入式 Rust 书籍

    作者:

    多位贡献者,主要是 Jorge Aparicio

    URL:

    https://docs.rust-embedded.org/book/

    日期:

    访问日期:2024 年 9 月 13 日

    关键字:

    rust, 博客。

    描述:

    摘自该网站:“一本关于在“裸机”嵌入式系统(如微控制器)上使用 Rust 编程语言的入门书籍”。

  • 标题: 实验:改进 Rust Book

    作者:

    布朗大学认知工程实验室

    URL:

    https://rust-book.cs.brown.edu/

    日期:

    访问日期:2024 年 9 月 22 日

    关键字:

    rust, 博客。

    描述:

    来自网站:“本实验的目标是评估和改进 Rust Book 的内容,以帮助人们更有效地学习 Rust。”

  • 标题: New Rustacean (播客)

    作者:

    Chris Krycho

    URL:

    https://newrustacean.com/

    日期:

    访问日期:2024 年 9 月 22 日

    关键字:

    rust,播客。

    描述:

    来自网站:“这是一个关于从头开始学习编程语言 Rust 的播客!除了这个漂亮的登录页面,所有网站内容都使用 Rust 自己的文档工具构建。”

  • 标题: Opsem-team (仓库)

    作者:

    操作语义团队

    URL:

    https://github.com/rust-lang/opsem-team/tree/main

    日期:

    访问日期:2024 年 9 月 22 日

    关键字:

    rust,仓库。

    描述:

    来自 README:“opsem 团队是不安全代码指南工作组的继任者,负责解答许多关于不安全 Rust 语义的难题”。


本文档最初基于

由 Juan-Mariano de Goyeneche 撰写