Linux内核学习基础
内核简介
Linux系统的构成:用户空间、内核空间
思考:为什么划分为两个层次?
目的其实是为保护操作系统,防止应用程序的异常导致操作系统崩溃。
内核空间与用户空间是程序执行的两种不同状态,通过系统调用和硬件中断能够完成从用户空间到内核空间的转移。
那么Linux的内核由哪些构成呢?如下图所示:
- VFS(虚拟文件系统)隐藏各种文件系统的具体细节,为文件操作提供统一的接口(不同的文件系统的接口是不一样的)。
- linux内核中有大量代码都在设备驱动程序中,它们控制特定的硬件设备
内核源代码
代码下载地址:linux kernel
根目录 | 目录 | 说明 |
---|---|---|
aaaaaaa | aaaaaa | |
/ | ||
arch | arch是architecture的缩写,内核所支持的每种CPU体系,在该目录下都有对应的子目录。每个CPU的子目录,又进一步分解为boot,mm,kernel等子目录,分别包含控制系统引导,内存管理,系统调用等。 | |
block | 部分块设备驱动程序 | |
crypto | 加密,压缩,CRC校验算法 | |
documentation | 内核的文档 | |
drivers | 设备驱动程序 | |
fs | 存放各种文件系统的实现代码,每个子目录对应一种文件系统的实现,公用的源程序用于实现虚拟文件系统vfs。 | |