linux内核目录分析

来源:互联网 发布:淘宝卖家怎么屏蔽差评 编辑:程序博客网 时间:2024/06/05 04:51

kernel目录分析

选择九鼎s5pv210开发板移植的linux内核,下载地址为:
链接:http://pan.baidu.com/s/1sl15QMD 密码:by3o


一 分析源目录下文件夹:
这里写图片描述
1.arch
arch是architecture的缩写,意思是架构。arch目录下是好多个不同架构的CPU的子目录,譬如arm这种cpu的所有文件都在arch/arm目录下,X86的CPU的所有文件都在arch/x86目录下。

2.block
在linux中block表示块设备(以块(多个字节组成的整体,类似于扇区)为单位来整体访问),譬如说SD卡、iNand、Nand、硬盘等都是块设备。block目录下放的是一些linux存储体系中关于块设备管理的代码。

3.crypto
英文意思是加密。这个目录下放了一些各种常见的加密算法的C语言代码实现。譬如crc32、md5、sha1等。

4.Documentation
该目录下放了一些文档

5.drivers
驱动目录,里面分门别类的列出了linux内核支持的所有硬件设备的驱动源代码。

6.firmware
固件,固件其实是软件,不过这个软件是固话到IC里面运行的叫固件。就像S5PV210里的iROM代码。

7.fs
fs就是file system,文件系统,里面列出了linux支持的各种文件系统的实现。

8.include
头文件目录,公共的(各种CPU架构共用的)头文件都在这里。每种CPU架构特有的一些头文件在arch/arm/include目录及其子目录下。

9.init
init是初始化的意思,这个目录下的代码就是linux内核启动时初始化内核的代码。

10.ipc
ipc就是inter process commuication,进程间通信,里面都是linux支持的IPC的代码实现。

11.kernel
kernel就是内核,就是linux内核,所以这个文件夹下放的就是内核本身需要的一些代码文件。

12.lib
lib是库的意思,这里面都是一些公用的有用的库函数,注意这里的库函数和C语言的库函数不一样的。在内核编程中是不能用C语言标准库函数,这里的lib目录下的库函数就是用来替代那些标准库函数的。譬如在内核中要把字符串转成数字用atoi,但是内核编程中只能用lib目录下的atoi函数,不能用标准C语言库中的atoi。譬如在内核中要打印信息时不能用printf,而要用printk,这个printk就是我们这个lib目录下的。

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

14.net
该目录下是网络相关的代码,譬如TCP/IP协议栈等都在这里。

15.scripts
脚本,这个目录下全部是脚本文件,这些脚本文件不是linux内核工作时使用的,而是用来辅助对linux内核进行配置编译生产的。

16.security
安全相关的代码。

17.sound
音频处理相关的代码。

18.tools
linux中用到的一些有用工具。

19.usr
目录下是initramfs相关的文件。

20.virt
内核虚拟机相关的。

二 分析源码目录下的文件
这里写图片描述
(1).gitignore
git工具文件,管理软件版本的。

(2).mailmap
一些linux开发者的邮箱。

(3)COPYING
版权说明

(4)CREDITS
鸣谢。感谢对linux做出贡献的人。

(5)initrd.img
系统启动会加载的文件

(6)Kbuild
Kbuild是kernel build的意思,就是内核编译的意思。这个文件就是linux内核特有的内核编译体系需要用到的文件。

(7)MAINTAINERS
linux维护者信息。

(8)Makefile
这个是linux内核的总makefile,整个内核工程用这个Makefile来管理的。

(9)mk
是九鼎在移植时自己添加的,不是linux内核本身的东西。九鼎添加这个文件的作用是用这个文件来管理kernel目录的配置和编译。

(10)README

(11)REPORTING-BUS
bug信息的上报。

原创粉丝点击