Linux内核结构分析与移植

Linux内核主要的5个部分是:进程调度,内存管理,虚拟文件系统,网络接口,进程通信。

这5个部分之间的关系如下:


(1)进程调度部分负责控制进程对CPU的访问。

(2)内存管理允许多个进程安全地共享主内存区域。(内存管理从逻辑上分为硬件无关部分和硬件相关部分。)【硬件无关部分提供了进程的映射和逻辑内存的对换;硬件相关部分为内存管理管理硬件提供了虚拟接口】

(3)虚拟文件系统隐藏了不同硬件的具体细节,为所有的硬件设备提供了一个标准的接口。(VFS提供了十多种不同类型的文件系统)

 (4)网络接口提供了对各种网络标准的存取和各种网络硬件的支持。

(5)进程通信部分用于支持进程见各种不同的通信机制。

进程调度与内存管理之间的关系

     这两个子系统为互相依赖关系。在多道程序环境下,程序允许必须为之创建进程,而创建进程首先就算要将程序和数据装入内存。 另外,内存管理子系统也存在进程的挂起和恢复过程。

进程间通信与内存管理之间的关系

     进程间通信子系统要依赖内存管理支持共享内存通信机制,通过对共同内存区域进行操作来达到通信的目的。

虚拟文件系统与网络接口之间的关系

     虚拟文件系统通过依赖网络接口支持网络文件系统(nfs),也通过依赖内存管理支持RAMDISK设备。

内存管理与虚拟文件系统之间的关系

     内存管理利用虚拟文件系统支持交换,交换进程定期地由调度程序调度,这也是内存管理依赖于进程调度的唯一原因,当一个进程存取的内存映射被换出时,内存管理回向文件系统发出请求,同时,挂起当前正在运行的进程。

原文地址:https://www.cnblogs.com/God-boy1/p/3607245.html