Linux 内核源码解读入门指南
108 浏览量
更新于2024-09-06
收藏 43KB DOC 举报
Linux 内核源码解读入门方法
Linux 内核源码解读入门方法是 Linux 爱好者们非常感兴趣的一个主题,然而很多人却不知道如何下手。这篇文章旨在介绍一种解读 Linux 内核源码的入门方法,而不是解说 Linux 复杂的内核机制。
Linux 内核源程序的文件组织是非常重要的,通常都安装在 /usr/src/linux 下。其中有一个非常简单的编号约定:任何偶数的核心(例如 2.0.30)都是一个稳定地发行的核心,而任何奇数的核心(例如 2.1.42)都是一个开发中的核心。本文基于稳定的 2.2.5 源代码,第二部分的实现平台为 Redhat Linux 6.0。
核心源程序的文件按树形结构进行组织,在源程序树的最上层你会看到这样一些目录:
1. Arch 目录:arch 子目录包括了所有和体系结构相关的核心代码。它的每一个子目录都代表一种支持的体系结构,例如 i386 就是关于 intel cpu 及与之相兼容体系结构的子目录。PC 机一般都基于此目录。
2. Include 目录:include 子目录包括编译核心所需要的大部分头文件。与平台无关的头文件在 include/linux 子目录下,与 intel cpu 相关的头文件在 include/asm-i386 子目录下,而 include/scsi 目录则是有关 scsi 设备的头文件目录。
3. Init 目录:这个目录包含核心的初始化代码(注:不是系统的引导代码),包含两个文件 main.c 和 Version.c,这是研究核心如何工作的一个非常好的起点。
4. Mm 目录:这个目录包括所有独立于 cpu 体系结构的内存管理代码,如页式存储管理内存的分配和释放等;而和体系结构相关的内存管理代码则位于 arch/*/mm/,例如 arch/i386/mm/Fault.c。
5. Kernel 目录:主要的核心代码,此目录下的文件实现了大多数 Linux 系统的内核函数,其中最重要的文件当属 sched.c;同样,和体系结构相关的代码在 arch/*/kernel 中。
6. Drivers 目录:放置系统所有的设备驱动程序;每种驱动程序又各占用一个子目录:如,/block 下为块设备驱动程序,比如 ide(ide.c)。如果你希望查看所有可能包含文件系统的设备是如何初始化的,你可以看 drivers/block/genhd.c 中的 device_setup()。它不仅初始化硬盘,也初始化网络,因为安装 nfs 文件系统的时候需要。
了解 Linux 内核源码的组织结构是非常重要的,它可以帮助我们更好地理解 Linux 内核的工作机理。 Linux 内核源码的解读是一个非常复杂的过程,但通过了解核心源程序的文件组织结构,我们可以更好地研究 Linux 内核的工作机理。
2011-04-01 上传
2020-08-15 上传
2008-10-26 上传
2021-10-06 上传
2020-11-18 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
weixin_38680492
- 粉丝: 5
- 资源: 931
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载