Linux内核源码目录

时间:2021-07-12 01:47:55

Linux内核源码目录


1、Arch  : architecture的缩写,意思是架构,九鼎在做移植的时候就删掉了。

 其他的目录都跟你没有任何的关系,所以你完全可以把他们删除。


2、Block: 英文是块的意思,表示是块设备。以块(多个字节组成的整体,以块为单位来整体访问),比如说我们的SD卡,INAND、NAND、硬盘等都是存储设备

 就是外部存储器,硬盘读写,在硬件的驱动逻辑层面。


3、Crypto:,英文的意思就是加密的:这个文件的目录是加密相关的。

各种常见的加密算法的C语言的,CRC32校验算法。

 

4、Documentation .里面放在一些文档。

 

5、Drivers  驱动目录:里面分门别类的列出了所有硬件所有

 

6、Frimware  固件,什么是固件,固件其实是软件,不过这个软件是固化到IC里面运行的。

 

7、Fs  FILE system,文件系统,里面列出了所有的文件系统

 然后在kconfig里面添加就可以了。

 Ext文件系统等几种常用的操作系统。


8、iNclude  头文件的目录;就是各种CPU架构共用的头文件都在这里。

 每一种CPU的架构的头文件 /arch/arm/include 及其子目录下。

Init 就是初始化的东西,就是Linux内核启动的初始化内核的代码。


9、IPC  IPC就是 iNter process communication 应用开发中最常见的进程间通信

里面都是Linux支持的IPC的代码实现。

 

10、kernel就是Linux内核,所以这个文件夹下就是一些代码

 

11、lib  lib就是库的意思,这里面都是一些公用的有用的库函数,注意这里的库函数和C语言的库函数是不一样的,在内核编程中不能用C语言标准库函数

比如在内核中把字符串转换为数字atoi 但是在内核编程中只能用lib目录下的

,不能使用标准C语言库中的atoi.

在内核中打印信息的时候不能使用printf,只能使用printk,这个printfk就是lib里面的打印函数。

 

12、mm  是内存管理,是Linux内存管理代码都在这里的。

 

13、net 该目录下是网络相关的代码,比如说是TCP、IP的协议栈都是在这里的

 

14、scripts  脚本编程。用来辅助Linux内核进行配置编译生产的。

而是通过外围来重点学会配置和编译Linux内核即可。

 

15、security  安全相关的代码

 

16、sound  音频相关的代码

 

17、tools  这是一些有用的工具的代码

 

 

18、USR 目录:和Linux内核的启动有关,比如做系统的人会关注。

 

 

19、virtual  虚拟机的东西

 

简单的总结一下:这么多目录跟我们关系很紧密arch和driver

 

Include block mm net lib  目录。