一、linux内核特性
1、可移植性,支持的硬件平台广泛
2、超强的网络功能
3、多任务多用户系统
4、模块化的设计
二、五大子系统
1、进程管理子系统
2、内存管理子系统
3、文件系统子系统
4、网络协议子系统
5、设备管理子系统
三、linux源码目录层次结构
- 平台无关的目录树:其他所有目录
- 平台相关的目录树:arch
内核源码开发的头文件命名规范
- arch:体系结构相关的所有代码
- block:块设备的调用算法
- crypto:加密
- Documentation:内核官方文档
- drivers:驱动
- firmware:固件
- fs:文件系统
- include:内核使用的头文件
- init:系统初始化
- ipc:进程间通信
- kbuild:kernel编译方法
- kconfig:kernel config
- kernel:内核
- mm:内存
- net:网络协议
1、arch目录
arm目录:
- boot
- include
- kernel
- lib
- mm
- mach-xxx:板子
- plat-xxx:SOC平台
四、内核源码开发的头文件命名规范
#include <asm/xxx.h>:CPU体系结构相关
#include <linux/xxx.h>:平台无关
#include <plat/xxx.h>:芯片公司相关
#include <mach/xxx.h>:开发板相关