linux-4.16.8源码目录分析

【仍然是操作系统实验作业..我哭】【都是google来的答案,我什么都不知道...】

1.arch:与体系结构相关的代码,里面存放了很多cpu架构,比如arm,x86,MIPS,PPC等。Linux支持的每种体系结构(对于每个架构的cpu)在arch目录下都有对应的子目录。

2.block:块设备的通用函数/管理的代码【以块(多个字节组成的整体,类似于扇区)为单位来整体访问】。碧如说sd卡,iNand,Nand,硬盘等都是块设备,几乎可以认为块设备就是存储设备。

3.certs:许可证

4.crypto:英文一是是加密。这个目录下放了一些各种常见的加密算法的c语言代码实现。例如常用的加密和散列算法(如AES、SHA等),还有一些压缩和CRC校验算法。

5.Documentation:一些文档

6.drivers:驱动目录,里面分门别类的列出了linux内核支持的所有硬件设备爱的驱动源代码。所有的设备驱动程序,里面每一个子目录对一个一类驱动程序,比如drivers/block为块设备驱动程序,drivers/char为字符串设备驱动程序,drivers/mtd为NorFlash、NandFlash等存储设备的驱动程序。

7.firmware:固件。什么是固件?固件其实是软件,不过这个软件是固话到IC里面运行的

叫固件:就像S5PV210里的iROM代码。

8.fs:fs就是file system,文件系统,里面列出了linux支持的各种文件系统的实现(代码)。每个子目录对应一种文件系统。

9.include:内核头文件目录,公共的(各种CPU架构共用的)头文件都在这里。每种CPU架构

特有的一些头文件在arch/arm/include目录及其子目录下。有基本头文件(存放在include/linux/目录下)、各种驱动或功能部件的头文件(比如include/media/、/include/mtd、include/net)、各种体系相关的头文件(比如include/asm-arm、include/asm-i386/)。当配置内核后,include/asm/是某个include/asm-xxx/(比如asm-arm)的链接

10.init:内核的初始化代码(不是系统的引导代码),其中的main.c文件中的start_kernel函数时内核引导后的第一个函数

11.ipc:ipc就是inter process commuication,进程间通信,里面都是linux支持的IPC的

代码实现

12.kernel:kernel就是内核,就是linux内核,所以这个文件夹下放的就是内核本身需要的

一些代码文件。

13.lib:lib是库的意思,这里面都是一些公用的有用的库函数,注意这里的库函数和C语言

的库函数不一样的。在内核编程中是不能用C语言标准库函数,这里的lib目录下的库函

数就是用来替代那些标准库函数的。

14.licenses:

15.mm:mm是memory management,内存管理,linux的内存管理代码都在这里。

16.net:该目录下是网络相关的代码,譬如TCP/IP协议栈等都在这里。网络支持代码,每个子目录对应于网络的一个方面

17.samples:内核实例代码,里面有尚未纳入内核代码的新功能,供内核开发新手参考入门使用。

18.scripts:脚本,这个目录下全部是脚本文件,这些脚本文件不是linux内核工作时使用的,

而是用来辅助对linux内核进行配置编译生产的。我们并不会详细进入分析这个目录下的

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

19.security:安全、密钥相关的代码

20.sound:音频设备的驱动程序

21.tools:与内核交互,以便在用户态时测试相关内核功能。

22.usr:目录下是initramfs相关的,和linux内核的启动有关.实现了用于打包和压缩的的cpio等。

23.virt:内核虚拟机相关的


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值