当前位置:首页 > 技术文章 > 正文内容

Linux 内核源代码的目录结构_linux 内核源代码的目录结构有哪些

内核技术点合集

Linux 内核源代码包括三个主要部分:

1. 内核核心代码,包括第 3 章所描述的各个子系统和子模块,以及其它的支撑子系统,例

如电源管理、Linux 初始化等

2. 其它非核心代码,例如库文件(因为 Linux 内核是一个自包含的内核,即内核不依赖其它

的任何软件,自己就可以编译通过)、固件集合、KVM(虚拟机技术)等

3. 编译脚本、配置文件、帮助文档、版权说明等辅助性文件

下图示使用 ls 命令看到的内核源代码的顶层目录结构,具体描述如下。

include/ ---- 内核头文件,需要提供给外部模块(例如用户空间代码)使用。

kernel/ ---- Linux 内核的核心代码,包含了 2.2 小节所描述的进程调度子系统,以及和进程调

度相关的模块。

mm/ ---- 内存管理子系统(2.3 小节)。

fs/ ---- VFS 子系统(2.4 小节)。

net/ ---- 不包括网络设备驱动的网络子系统(2.5 小节)。

ipc/ ---- IPC(进程间通信)子系统。

arch// ---- 体系结构相关的代码,例如 arm, x86 等等。

arch//mach- ---- 具体的 machine/board 相关的代码。

arch//include/asm ---- 体系结构相关的头文件。

arch//boot/dts ---- 设备树(Device Tree)文件。

init/ ---- Linux 系统启动初始化相关的代码。

block/ ---- 提供块设备的层次。

sound/ ---- 音频相关的驱动及子系统,可以看作“音频子系统”。

drivers/ ---- 设备驱动

lib/ ---- 实现需要在内核中使用的库函数,例如 CRC、FIFO、list、MD5 等。

crypto/ ----- 加密、解密相关的库函数。

security/ ---- 提供安全特性(SELinux)。

virt/ ---- 提供虚拟机技术(KVM 等)的支持。

usr/ ---- 用于生成 initramfs 的代码。

firmware/ ---- 保存用于驱动第三方设备的固件。

samples/ ---- 一些示例代码。

tools/ ---- 一些常用工具,如性能剖析、自测试等。

Kconfig, Kbuild, Makefile, scripts/ ---- 用于内核编译的配置文件、脚本等。

COPYING ---- 版权声明。

MAINTAINERS ----维护者名单。

CREDITS ---- Linux 主要的贡献者名单。

REPORTING-BUGS ---- Bug 上报的指南。

Documentation, README ---- 帮助、说明文档。

相关教程:

Linux内核,进程间通信组件的实现

红黑树,在Linux内核的那些故事

Linux内核,让你不知如何下手的地方

相关文章

Linux远程文件传输神器:rz / sz 全指南(含实操示例)

原文链接:「链接」在日常使用 Linux 服务器时,是否常常因为文件传输问题而苦恼?复制粘贴效率低,FTP 配置复杂?今天推荐一套简单高效的终端工具组合:rz 和 sz。这两个命令搭配使用,能在本地与...

Linux :远程访问的 16 个最佳工具(一)

通过远程桌面协议 (RDP) 可以访问远程 Linux 桌面计算机,这是 Microsoft 开发的专有协议。它为用户提供了一个图形界面,可以通过网络连接连接到另一台/远程计算机。 FreeRDP 是...

linux的查查大法(linux 查wwn)

1.查文件find命令,用来查找指定目录下的目录或文件。(1.1)一般用法find -name keyword:当前目录及子目录下查找与keyword完全一致的目录或文件;find -name *ke...

如何查询 Linux 中 CPU 的数量?这几个命令要知道!

在深入命令之前,先聊聊为什么要关心 CPU 数量。想象一下,你是个系统管理员,手底下管着几十台服务器,突然有台机器跑任务慢得像乌龟,你得搞清楚是不是 CPU 不够用。或者你是程序员,想写个多线程程序,...

05、Linux查看服务的进程-没有自己的Linux服务器网页端练习

大家好,我是Bigder~今天依然是网页端学习01、Linux怎么判断当前登陆用户(网页端学习linux),登录网页端练习。1、今天练习一个指令、查看服务的进程是否存在2、使用「ps -ef |gre...

Linux 下如何查看进程的资源限制信息?

简介Linux 上的 cat /proc/$pid/limits 命令提供有关特定进程的资源限制的信息,其中 $pid 是相关进程的进程 ID (pid)。该文件是 `/proc 文件系统的一部分,该...