Linux内核源码结构

引用点击打开链接

Linux内核文件数目将近2万,除去其他架构CPU的相关文件,支持S3C2410、S3C2440这两款芯片的完整内核文件有1万多个。这些文件的组织结构并不复杂,它们分别位于顶层目录下的17个子目录,各个目录功能独立。


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等。


include:内核API级别头文件。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值