2016 - 2024

感恩一路有你

linux源代码分析 如何查看linux内核源代码?

浏览量:1974 时间:2022-12-16 19:32:39 作者:采采

linux源代码分析 如何查看linux内核源代码?

如何查看linux内核源代码?

一般来说,目录/usr/src/Linux *。*.* (*.*代表内核版本,如2.4.23)在Linux系统中是内核源代码(如果没有类似的目录,那是因为内核代码还没有安装)。此外,还可以从网上免费下载。注意,不要总是下载,最好用它的镜像站点下载。请在目录中找到合适的下载点,然后到pub/linux/kernel/v2.6/目录下载2.4.23内核。

代码目录结构

在阅读源代码之前,你还应该了解Linux内核源代码的整体分布。现代操作系统一般由进程管理、内存管理、文件系统、驱动程序和网络组成。Linux内核源代码的每个目录大致对应于此,其构成如下(假设相对于Linux-2.4.23目录):

该目录包含所有与架构相关的核心代码。下面的每个子目录代表一个Linux支持的体系结构。比如i386就是Intel CPU及其兼容架构的子目录。一般PC都是基于这个目录的。

包括编译核心所需的大多数头文件,如include/linux子目录中的平台无关头文件。

包含目录核心的初始化代码(不是系统的引导代码),有两个文件:main.c和Version.c这是研究核心如何工作的一个很好的起点。

该目录包含所有的内存管理代码。与特定硬件架构相关的内存管理代码位于arch/*/mm目录中。

目录是系统中所有的设备驱动程序。它又分为几种类型的设备驱动程序,每种驱动程序都有相应的子目录。比如声卡的驱动对应驱动/声音。

6.ipc目录包含核心进程之间的通信代码。

该目录存储构建的和可动态加载的模块。

8.fs目录存储了Linux支持的文件系统代码。不同的文件系统有不同的子目录。比如ext3文件系统对应ext3子目录。

内核内核管理的核心代码在这里。同时,与处理器结构相关的代码放在arch/*/kernel目录下。

目录是网络的核心代码,每个子目录对应网络的一个方面。

该目录包含核心库代码,但与处理器结构相关的库代码放在arch/*/lib/目录中。

目录包含用于配置核心的脚本文件。

下面是一些文档,是对每个目录的功能的具体描述。

通常,每个目录中都有一个. depend文件和一个Makefile文件。这两个文件都是编译过程中使用的辅助文件。仔细阅读这两个文件,非常有助于理清它们之间的关系和依赖关系。另外,有些目录下有自述文件,是这个目录下文件的一些描述,也有利于理解内核源代码。

有纵向和横向的阅读方法或顺序。所谓纵向,就是按照程序的执行顺序一步一步来;所谓横向,就是按照模块。它们经常结合在一起。Linux启动的代码可以沿着Linux的启动顺序一步一步的读;对于内存管理部分,可以单独拿出来阅读分析。其实这是一个迭代的过程,不可能看一遍就明白。

目录 代码 核心 文件 内核

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。