跳转到内容

关于书籍 Linux 内核

来自维基教科书,开放世界中的开放书籍


本书的标题页和结构最初受到 Linux 设备驱动程序书籍中“分割内核”文章的影响,该文章包含一个图表。该图表的多彩矩阵设计借鉴了“交互式 Linux 内核地图”。此外,本书中信息的层级化展示灵感来源于OSI 模型的层级。层级和功能的数量有意接近神奇的数字七

内核之上的用户模式下的应用程序和库可以与 OSI 模型的应用层相关联。

上层:

用户空间接口 - 内核的外观。它主要由系统调用表示。它可以与 OSI 模型的表示层相关联。
虚拟 - 为上层提供聚合的服务,以虚拟内存和虚拟文件系统命名。类似于会话层

中间层:

桥接 - 管理互操作性,以桥接模式命名。类似于传输层
逻辑 - 提供逻辑实现。以逻辑内存、地址和逻辑文件系统命名。类似于网络层

下层,类似于数据链路层

设备控制 - HW 接口的抽象和控制。设备类别。与 HW 无关的通用设备。
硬件接口 - 直接 HW 接口。与 HW 相关的驱动程序。

处理、内存、存储和网络功能看起来非常熟悉和明显,而人机界面和系统功能需要一些解释。人机界面功能涵盖与人类用户而不是基本计算相关的主题。显然,HID(人机交互设备)属于此功能,因此名称和多媒体也属于此功能。字符设备,尽管在系统和存储中用作字节流,也被分配给 HI。系统功能涵盖基本和通用功能。内核的通用系统调用基础设施在该功能下进行了描述。特定系统调用和接口在其他相应功能下进行了描述。

二维布局而不是线性 TOC 布局允许有效地组织书籍内容,索引现有文档和手册页。

这本书需要贡献者。以下是指南

  1. 使文章完整、连续且引人入胜。
    • 修复错别字并改写。
    • 保持一致的格式。
  2. 通过用现代内容替换过时内容来保持信息更新。
  3. 分享您关于内核的知识和经验。
  4. 探索源代码并对其进行描述。
  5. 为不完整的部分添加解释。
  6. 从维基百科复制粘贴文本。
  7. 使用模板添加指向外部资源的链接


段落模板

[编辑 | 编辑源代码]

🔧 待办事项

...


🗝️ 首字母缩略词和/或关键词

API – 应用程序编程接口
...


🖱️ GUI

man 1 git-gui – Git 的一个便携式图形界面
...


⚲ APIs

man 1 intro – 用户命令介绍
man 2 intro – 系统调用介绍
man 4 intro – 特殊文件介绍
uapi inc – 用户空间 API
man 2 syscall
entry_SYSCALL_64 id ↯ 调用层次结构
do_syscall_64id
...
...

🛠️ 工具

man 1 ls – 列出目录内容
...


👁️ 示例

示例src
...


⚙️ 内部结构

printkid
内核src
...


🚀 高级功能

...


📖 参考资料

Linux 内核文档 doc
/proc/sys/kernel/ doc 文档
...


📚 进一步阅读

https://lore.kernel.org/
LKML
linux-doc ML
KernelNewbies ML
...


💾 历史

https://tldp.org/LDP/lki/
https://tldp.org/HOWTO/KernelAnalysis-HOWTO.html
https://www.kernel.org/doc/html/
...


感谢

华夏公益教科书