linux及内核体系结构
1、Linux层次结构
2、Linux内核结构
a) 系统调用接口(SCI):open、read、write等系统调用
b) 进程管理(PM):创建进程、删除进程、调度进程等
c) 内存管理(MM):内存分配、管理等
d) 虚拟文件系统(VFS):为多种文件系统提供统一的操作接口
e) 网络协议栈:提供各种网络协议
f) CPU架构相关代码(Arch):为的是提高至移植性
g) 设备驱动程序(DD):各种设备驱动,占到内核的70%左右代码
源码目录整理
源码主要有以下目录(介绍重要目录):
**a) Arch目录:**存放处理器相关的代码。下设子目录,分别对应具体的CPU,每个子目录有boot,mm,以及kernel三个子目录,分别对应系统引导以及存储管理,和系统调用
**b) Include目录:**内核所需要的大部分头文件目录。与平台无关的在include/linux子目录下,与平台相关的则放在include相应的子目录中。
**c) fs目录:**存放各种文件系统的实现代码。
**d) init目录:**init子目录包含核心的初始化代码(不是系统的引导代码)。其包含两个文件main.c和version.c,可以用来研究核心如何工作。
**e) ipc目录:**包含核心进程间的通信代码。
**f) kernel目录:**包含内核管理的核心代码。与硬件相关代码放在arch/*/kernel目录下。
**g) mm目录:**包含了所有的内存管理代码。与硬件相关的内存管理代码位于arch/*/mm目录下。
**h) scripts目录:**包含用于配置核心的脚本文件。
**i) lib目录:**包含了核心的库代码,与硬件相关的库代码被放在arch/*/lib/目录下
本文地址:https://blog.csdn.net/spider33/article/details/107119890
推荐阅读
-
linux top命令详解和使用实例及使用技巧(监控linux的系统状况)
-
linux系统更新正在运行进程的可执行文件需要注意的text file busy的原因及解决方法
-
Linux下mysql 5.7 部署及远程访问配置
-
linux useradd(adduser)命令参数及用法详解(linux创建新用户命令)
-
详解 MAC/Linux Vi配置环境变量及Java环境变量配置
-
Linux Ldd命令介绍及使用方法
-
Linux系统安全:系统优化及安全配置详细介绍
-
linux BASH shell下设置字体及背景颜色
-
Linux 内核空间与用户空间实现与分析
-
Linux 僵尸进程产生原因及解决方法