linux内核源码结构

linux内核源码结构

一、概述

  Linux内核庞大,但是这些文件的结构还是有章可循的,分别位于不同的目录下,各个目录功能相对独立。 

二、源码结构表

目录名描述
arch体系结构相关的代码,对于每个架构的CPU,arch目录下有一个对应的子目录,比如arch/arm、arch/i386
block块设备的通用函数
crypto常用的加密和散列算法(如AES、SHA等),还有一些压缩和CRC校验算法
drivers所有的设备驱动程序,里面每一个子目录对一个一类驱动程序,比如drivers/block为块设备驱动程序,drivers/char为字符串设备驱动程序,drivers/mtd为NorFlash、NandFlash等存储设备的驱动程序
fsLinux支持的文件系统的代码,每个子目录对应一种文件系统,比如fs/jffs2、fs/ext2、fs/ext3
include内核头文件,有基本头文件(存放在include/linux/目录下)、各种驱动或功能部件的头文件(比如include/media/、/include/mtd、include/net)、各种体系相关的头文件(比如include/asm-arm、include/asm-i386/)。当配置内核后,include/asm/是某个include/asm-xxx/(比如asm-arm)的链接
init内核的初始化代码(不是系统的引导代码),其中的main.c文件中的start_kernel函数时内核引导后的第一个函数
ipc进程间通信的代码
kernel内核管理的核心代码,与处理器相关的代码位于arch/*/kernel/目录下
lib内核用到的一些库函数代码,比如crc32.c、string.c,与处理器相关的库函数代码位于arch/*/lib目录下
mm内核管理代码,与处理器相关的内存管理代码位于arch/*/mm
net网络支持代码,每个子目录对应于网络的一个方面
security安全、密钥相关的代码
sound音频设备的驱动程序
usr用来制作一个压缩的cpio归档文件:initrd的镜像,它可以作为内核启动后挂接的第一个文件系统
Documentation 内核文档
scripts用于配制、编译内核的脚本文件

三、源码结构图 

 

 reprint: https://www.cnblogs.com/amanlikethis/p/3641504.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值