Linux系统架构
1.用户空间:应用程序、C函数库
2.内核空间:系统调用接口、内核、体系结构相关代码
Linux系统利用处理器不同的工作模式,使用其中的两个级别分别来运行Linux内核与应用程序,这样使操作系统本身得到了充分的保护。内核空间与用户空间是程序执行的两种不同的状态,通过系统调用和硬件中断能够完成从用户空间到内核空间的切换。
Linux内核架构
1.系统调用接口
2.进程管理模块
3.内存管理模块
4.虚拟文件系统
5.网络协议模块
6.设备驱动模块
7.体系结构相关
Linux内核下载
下载地址:www.kernel.org
Linux目录结构
Linux内核源代码采用树状结构进行组织,把功能相关的文件放在同一个子目录下,使得程序更具可读性。
1.arch目录
arch是architecture的缩写。内核所支持的每种CPU体系结构,在该目录下都有对应的子目录。每个CPU的子目录,又进一步分解为boot,mm,kernel等子目录,分别包含控制系统引导,内存管理,系统调用等。
2.documention目录
内核的文档
3.drivers目录
设备驱动程序
4.include目录
内核所需要的头文件。与平台无关的头文件在include/linux子目录下,与平台相关的头文件则放在相应的子目录中。
5.fs目录
存放各种文件系统的实现代码。每个子目录对应一种文件系统的实现。公用的源程序用于实现虚拟文件系统vfs。
6.net目录
网络协议的实现代码
Linux内核代码管理
1.打开source insight
2.建立工程
project->new project->browse->ok
configuration(project has is own configuration file)->ok
3.添加代码
project->add and remove project files
file name->add all(include top... and recursively add...)->close
4.同步标签
search->browse project symbols