linux内核目录结构
2015-10-29 16:27
281 查看
4. Linux内核源代码的目录结构
Linux内核源代码包括三个主要部分:1. 内核核心代码,包括第3章所描述的各个子系统和子模块,以及其它的支撑子系统,例如电源管理、Linux初始化等
2. 其它非核心代码,例如库文件(因为Linux内核是一个自包含的内核,即内核不依赖其它的任何软件,自己就可以编译通过)、固件集合、KVM(虚拟机技术)等
3. 编译脚本、配置文件、帮助文档、版权说明等辅助性文件
下图示使用ls命令看到的内核源代码的顶层目录结构,具体描述如下。
arch// ---- 体系结构相关的代码,例如arm, x86等等。
arch//mach- ---- 具体的machine/board相关的代码。
arch//include/asm ---- 体系结构相关的头文件。
arch//boot/dts ---- 设备树(Device Tree)文件。
block/ ---- 提供块设备的层次。
crypto/ ----- 加密、解密相关的库函数。
Documentation, README ---- 帮助、说明文档
drivers/ ---- 设备驱动(在Linux kernel 3.10中,设备驱动占了49.4的代码量)。
firmware/ ---- 保存用于驱动第三方设备的固件。
fs/ ---- VFS子系统(3.4小节)。
include/ ---- 内核头文件,需要提供给外部模块(例如用户空间代码)使用。
init/ ---- Linux系统启动初始化相关的代码。
ipc/ ---- IPC(进程间通信)子系统。
kernel/ ---- Linux内核的核心代码,包含了3.2小节所描述的进程调度子系统,以及和进程调度相关的模块。
lib/ ---- 实现需要在内核中使用的库函数,例如CRC、FIFO、list、MD5等。
mm/ ---- 内存管理子系统(3.3小节)。
net/ ---- 不包括网络设备驱动的网络子系统(3.5小节)。
samples/ ---- 一些示例代码。
security/ ---- 提供安全特性(SELinux)。
sound/ ---- 音频相关的驱动及子系统,可以看作“音频子系统”。
tools/ ---- 一些常用工具,如性能剖析、自测试等。
usr/ ---- 用于生成initramfs的代码。
virt/ ---- 提供虚拟机技术(KVM等)的支持。
Kconfig, Kbuild, Makefile, scripts/ ---- 用于内核编译的配置文件、脚本等。
COPYING ---- 版权声明。
MAINTAINERS ----维护者名单。
CREDITS ---- Linux主要的贡献者名单。
REPORTING-BUGS ---- Bug上报的指南。
-----------------------------------------------------------------
相关文章推荐
- centos65 folly的编译安装
- Linux cgroup机制分析之cpuset subsystem
- deadline 调度算法
- Linux ftp下载包含子目录内容
- Linux环境下修改GIT的用户名和邮箱
- linux man命令
- Linux-vi学习笔记
- linux访问samba服务器
- 二、Hadoop集群的配置(Hadoop1.2.1,CentOS6.5)
- Linux 虚拟串口及 Qt 串口通信实例
- linux下mysql开启远程访问权限及防火墙开放3306端口
- 一、Hadoop单机版standalone的安装与配置(Hadoop1.2.1,CentOS6.5)
- linux的ssl通讯协议的编程
- Linux zabbix IO监控 步骤脚本和模板
- Red Hat未注册而使用yum的解决方法
- xmanager连接Centos的远程桌面
- 在windows下进行linux开发:利用Vagrant+virtualbox
- 解决linux 出现如下报错:Another app is currently holding the yum lock;
- 使用Linux正则表达式灵活搜索文件中的文本
- linux用户的10个有用工具