【Linux 0.12】Linux内核体系结构——Linux内核模式与体系

Linux内核体系结构

Linux内核模式

Linux0.12 内核采用单内核模式。

在单内核模式的系统中,操作系统提供的服务流程为:应用主程序使用指定的参数执行系统调用指令(int 0x80),使 CPU 从用户态切换到内核态。然后操作系统根据具体的参数(EAX)调用特定的服务,这些特定服务程序根据需要调用底层的支持函数完成特定功能。在完成应用程序要求的服务之后没操作系统使 CPU 从内核态切换回用户态。

因此,粗略地讲,单内核模式的内核可以分为三个层次:调用服务的主程序层,执行系统调用的服务层,以及支持系统调用的底层。

Linux 内核系统体系结构

Linux内核主要由五个模块构成:

  • 进程调度模块:负责控制进程对CPU资源的使用
  • 内存管理模块:确保进程安全地共享主存,同时支持虚拟内存
  • 文件系统模块:支持对外部设备的驱动和存储
  • 进程间通信模块:支持多种进程间的信息交换方式
  • 网络接口模块:提供对多种网络通信标准的访问

所有的模块都和进程调度模块存在依赖关系。

下图除了硬件控制,其余的方块对应内核源代码的目录组织结构。

内核结构