📜  Linux 内核

📅  最后修改于: 2022-05-13 01:56:11.644000             🧑  作者: Mango

Linux 内核

计算机的主要用途是运行预定义的指令序列,称为程序。正在执行的程序通常称为进程。现在,大多数专用计算机旨在运行单个进程,但在诸如通用计算机这样的复杂系统中,旨在同时运行多个进程。任何类型的进程都需要硬件资源,例如内存、处理器时间、存储空间等。

在同时运行多个进程的通用计算机中,我们需要一个中间层来有效、公平地管理计算机硬件资源在计算机上运行的所有进程之间的分配。这个中间层被称为内核。内核基本上将计算机的公共硬件资源虚拟化,为每个进程提供自己的虚拟资源。这使得进程看起来好像是机器上运行的唯一进程。内核还负责防止和减轻不同进程之间的冲突。

这示意性表示如下:


图:每个进程的虚拟资源

Linux内核核心子系统如下:



  1. 进程调度器
  2. 内存管理单元 (MMU)
  3. 虚拟文件系统 (VFS)
  4. 网络单位
  5. 进程间通信单元


图: Linux 内核

出于本文的目的,我们将只关注 Linux 内核的第一个三个重要子系统。

第一三个子系统中每个子系统的基本功能详述如下:

  • 进程调度器:
    该内核子系统负责在系统上同时运行的所有进程之间公平地分配 CPU 时间。
  • 内存管理单元:
    该内核子单元负责在系统上运行的各种进程之间正确分配内存资源。 MMU 不仅仅为每个进程提供单独的虚拟地址空间。
  • 虚拟文件系统:
    该子系统负责提供统一的接口,以跨不同的文件系统和物理存储介质访问存储的数据。