文章目录
- 一、Linux 内核在操作系统中的层级
- 二、Linux 内核子系统
- 三、Linux 内核子系统之间的关系
一、Linux 内核在操作系统中的层级
Linux 内核 所在层级 : 整个计算机系统中 , 由下到上介绍 :
计算机硬件 处于最底层 ;
计算机硬件 上面一层是 Linux 内核 , 计算机的所有硬件操作都要经过内核 , 内核是 抽象资源操作 与 具体硬件操作细节 之间的接口 ;
Linux 内核 上面一层是 系统调用接口 , 系统调用 由大量的指令组成 , 应用程序 通过 系统调用 调用内核的功能 , 实现特定服务 , 如创建进程 ; 系统调用运行在 内核态 , 应用程序 运行在 用户态 ;
最上层是 应用程序 , 应用程序 是 运行于操作系统上的 软件集合 ;
如下图所示 :
二、Linux 内核子系统
Linux 内核的
个子系统 :
- 进程调度 ( Process Scheduler ) : 控制 进程 对 CPU 的访问 , CPU 要执行哪个进程 , 必须由 进程调度 子模块 根据 进程优先级调度算法 指定 ;
- 内存管理 ( Memory Manager ) : 多个应用程序进程 安全地 访问内存 ; 该子系统分为 硬件有关部分 和 硬件无关部分 ; 硬件无关部分提供了内存映射与虚拟内存机制 , 硬件有关部分 就是 管理真实的内存硬件 ;
- 虚拟文件系统 ( Virtual File System ) : 为所有类型的 设备/逻辑文件系统 ( EXT2/3/4 , NTFS ) 提供统一接口 ; 该子系统可以分为 设备驱动程序 和 逻辑文件系统 ;
- 网络管理 ( Network Manager ) : 提供对 网络协议 和 网络硬件 的支持 ; 该子系统 包含 网络协议栈 和 硬件驱动程序 ; 网络协议负责与其它设备通信 , 硬件驱动程序 负责 与本设备的 网络硬件通信 ;
- 进程间通信 ( Inter-Process ommunication ) : 支持 进程间 的通信机制 ;
三、Linux 内核子系统之间的关系
进程调度 依赖于 内存管理 模块 ,
内存管理 依赖于 虚拟文件系统 和 进程调度 两个模块 ,
虚拟文件系统 依赖于 内存管理 , 内存调度 , 网络管理 模块 ,
网络管理 依赖于 进程调度 模块 ;
进程间通信 依赖于 内存管理 和 进程调度 两个子系统模块 ,
进程调度 与 内存管理 这两个子系统之间 是相互依赖的 ,
内存管理 与 虚拟文件系统 之间 相互依赖 ,