Linux Kernel 学习笔记(一)
本文作为一篇学习Linux内核的记录,记载学习Linux内核的过程。
内核学习要点:
Linux内核源码文件树:
注:
本文作为一篇学习Linux内核的记录,记载学习Linux内核的过程。
内核学习要点:
设备驱动(drivers)
文件系统(fs)
系统引导&初始化(init)
进程间通信(ipc)
进程调度
系统调用
虚拟文件系统(vfs)
存储管理
内存管理(mm)
内核数据结构
网络管理(net)
图1 Linux Kernel 文件树
Linux内核源码文件树:
arch-->内核中与具体CPU和系统结构相关的代码分别放在下一层的子目录中,而相关的.h文件则分别放在include/asm目录中
block
crypto
block
crypto
Documentation-->有关Linux内核的文档
drivers-->设备驱动程序,包括各种块设备和字符设备的驱动程序
drivers-->设备驱动程序,包括各种块设备和字符设备的驱动程序
firmware
fs-->文件系统,每个目录分别对应一个特定的文件系统
include-->包含所有的.h文件。
init-->Linux内核的main()及其初始化过程
ipc-->Linux内核的进程间通信
fs-->文件系统,每个目录分别对应一个特定的文件系统
include-->包含所有的.h文件。
init-->Linux内核的main()及其初始化过程
ipc-->Linux内核的进程间通信
kbuild
kconfig
kernel-->进程管理和调度
lib-->通用的工具性子程序
kconfig
kernel-->进程管理和调度
lib-->通用的工具性子程序
Makefile-->重构Linux内核可执行代码的make文件
mm-->内存管理
net-->包含各种不同网卡和网络规程的驱动程序
scripts-->用于系统配置的命令文件
samples
security
sound
tools
ubuntu
usr
virt
mm-->内存管理
net-->包含各种不同网卡和网络规程的驱动程序
scripts-->用于系统配置的命令文件
samples
security
sound
tools
ubuntu
usr
virt
图2 Linux基本的体系结构
注: