Linux 内核
计算机的主要用途是运行预定义的指令序列,称为程序。正在执行的程序通常称为进程。现在,大多数专用计算机旨在运行单个进程,但在诸如通用计算机这样的复杂系统中,旨在同时运行多个进程。任何类型的进程都需要硬件资源,例如内存、处理器时间、存储空间等。
在同时运行多个进程的通用计算机中,我们需要一个中间层来有效、公平地管理计算机硬件资源在计算机上运行的所有进程之间的分配。这个中间层被称为内核。内核基本上将计算机的公共硬件资源虚拟化,为每个进程提供自己的虚拟资源。这使得进程看起来好像是机器上运行的唯一进程。内核还负责防止和减轻不同进程之间的冲突。
这示意性表示如下:
Linux内核的核心子系统如下:
- 进程调度器
- 内存管理单元 (MMU)
- 虚拟文件系统 (VFS)
- 网络单位
- 进程间通信单元
出于本文的目的,我们将只关注 Linux 内核的第一个三个重要子系统。
第一三个子系统中每个子系统的基本功能详述如下:
- 进程调度器:
该内核子系统负责在系统上同时运行的所有进程之间公平地分配 CPU 时间。 - 内存管理单元:
该内核子单元负责在系统上运行的各种进程之间正确分配内存资源。 MMU 不仅仅为每个进程提供单独的虚拟地址空间。 - 虚拟文件系统:
该子系统负责提供统一的接口,以跨不同的文件系统和物理存储介质访问存储的数据。