linux 内核代码结构
- arch :包含和硬件体系结构相关的代码,每种平台占一个相应的目录,如 i386、 arm、arm64、 powerpc、 mips 等。 Linux 内核目前已经支持 30 种左右的体系结构。在 arch 目录下,存放的是各个平台以及各个平台的芯片对 Linux 内核进程调度、内存管理、中断等的支持,以及每个具体的 SoC 和电路板的板级支持代码
- block:块设备驱动程序 I/O 调度。
- crypto:常用加密和散列算法(如 AES、 SHA 等),还有一些压缩和 CRC 校验算法。
- documentation:内核各部分的通用解释和注释。
- drivers :设备驱动程序,每个不同的驱动占用一个子目录,如 char、 block、 net、mtd、 i2c 等。
- fs:所支持的各种文件系统,如 EXT、 FAT、 NTFS、 JFFS2 等。
- include:头文件,与系统相关的头文件放置在 include/linux 子目录下。
- init:内核初始化代码。著名的 start_kernel() 就位于 init/main.c 文件中。
- ipc:进程间通信的代码。
- kernel :内核最核心的部分,包括进程调度、定时器等,而和平台相关的一部分代码放在 arch/*/kernel 目录下
- lib:库文件代码。
- mm:内存管理代码,和平台相关的一部分代码放在 arch/*/mm 目录下。
- net:网络相关代码,实现各种常见的网络协议。
- scripts:用于配置内核的脚本文件。
- security:主要是一个 SELinux 的模块。
- sound: ALSA、 OSS 音频设备的驱动核心代码和常用设备驱动。
- usr:实现用于打包和压缩的 cpio 等。
- virt:内核 API 级别头文件。
标签:
linux driver
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)