Linux 内核Linux 操作系统结构 ( Linux 内核在操作系统中的层级 | Linux 内核子系统及关系 | 进程调度 | 内存管理 | 虚拟文件系统 | 网络管理 | 进程间通信 )

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 内核Linux 操作系统结构 ( Linux 内核在操作系统中的层级 | Linux 内核子系统及关系 | 进程调度 | 内存管理 | 虚拟文件系统 | 网络管理 | 进程间通信 )相关的知识,希望对你有一定的参考价值。

文章目录





一、Linux 内核在操作系统中的层级



Linux 内核 所在层级 : 整个计算机系统中 , 由下到上介绍 :

计算机硬件 处于最底层 ;

计算机硬件 上面一层是 Linux 内核 , 计算机的所有硬件操作都要经过内核 , 内核是 抽象资源操作具体硬件操作细节 之间的接口 ;

Linux 内核 上面一层是 系统调用接口 , 系统调用 由大量的指令组成 , 应用程序 通过 系统调用 调用内核的功能 , 实现特定服务 , 如创建进程 ; 系统调用运行在 内核态 , 应用程序 运行在 用户态 ;

最上层是 应用程序 , 应用程序 是 运行于操作系统上的 软件集合 ;


如下图所示 :





二、Linux 内核子系统



Linux 内核的 5 5 5 个子系统 :

  • 进程调度 ( Process Scheduler ) : 控制 进程 对 CPU 的访问 , CPU 要执行哪个进程 , 必须由 进程调度 子模块 根据 进程优先级调度算法 指定 ;
  • 内存管理 ( Memory Manager ) : 多个应用程序进程 安全地 访问内存 ; 该子系统分为 硬件有关部分 和 硬件无关部分 ; 硬件无关部分提供了内存映射与虚拟内存机制 , 硬件有关部分 就是 管理真实的内存硬件 ;
  • 虚拟文件系统 ( Virtual File System ) : 为所有类型的 设备/逻辑文件系统 ( EXT2/3/4 , NTFS ) 提供统一接口 ; 该子系统可以分为 设备驱动程序 和 逻辑文件系统 ;
  • 网络管理 ( Network Manager ) : 提供对 网络协议 和 网络硬件 的支持 ; 该子系统 包含 网络协议栈 和 硬件驱动程序 ; 网络协议负责与其它设备通信 , 硬件驱动程序 负责 与本设备的 网络硬件通信 ;
  • 进程间通信 ( Inter-Process ommunication ) : 支持 进程间 的通信机制 ;





三、Linux 内核子系统之间的关系



进程调度 依赖于 内存管理 模块 ,

内存管理 依赖于 虚拟文件系统 和 进程调度 两个模块 ,

虚拟文件系统 依赖于 内存管理 , 内存调度 , 网络管理 模块 ,

网络管理 依赖于 进程调度 模块 ;

进程间通信 依赖于 内存管理 和 进程调度 两个子系统模块 ,


进程调度内存管理 这两个子系统之间 是相互依赖的 ,

内存管理虚拟文件系统 之间 相互依赖 ,

以上是关于Linux 内核Linux 操作系统结构 ( Linux 内核在操作系统中的层级 | Linux 内核子系统及关系 | 进程调度 | 内存管理 | 虚拟文件系统 | 网络管理 | 进程间通信 )的主要内容,如果未能解决你的问题,请参考以下文章

linux学习笔记-基本概念和文件结构(FHS)

Linux 内核Linux 操作系统结构 ( Linux 内核在操作系统中的层级 | Linux 内核子系统及关系 | 进程调度 | 内存管理 | 虚拟文件系统 | 网络管理 | 进程间通信 )

Linux 内核进程管理 task_struct 结构体 ② ( state 字段 | stack 字段 | pid 字段 | tgid 字段 | pid_links 字段 )

linux和centos7区别

Linux 内核Linux 内核体系架构 ( 硬件层面 | 内核空间 | 用户空间 | 内核态与用户态切换 | 系统调用 | 体系结构抽象层 )

Linux 操作系统原理 — 系统结构