Linux 内核主要由 5 个模块构成,它们分别是:进程调度模块、内存管理模块、文件系统模块、进
程间通信模块和网络接口模块。
进程调度模块用来负责控制进程对 CPU 资源的使用。
所采取的调度策略是各进程能够公平合理地访
问 CPU,同时保证内核能及时地执行硬件操作。内存管理模块用于确保所有进程能够安全地共享机器主
内存区,同时,内存管理模块还支持虚拟内存管理方式,使得 Linux 支持进程使用比实际内存空间更多
的内存容量。并可以利用文件系统把暂时不用的内存数据块会被交换到外部存储设备上去,当需要时再
交换回来。文件系统模块用于支持对外部设备的驱动和存储。虚拟文件系统模块通过向所有的外部存储
设备提供一个通用的文件接口,隐藏了各种硬件设备的不同细节。从而提供并支持与其它操作系统兼容
的多种文件系统格式。进程间通信模块子系统用于支持多种进程间的信息交换方式。网络接口模块提供
对多种网络通信标准的访问并支持许多网络硬件。
这几个模块之间的依赖关系见图 2-3 所示。其中的连线代表它们之间的依赖关系,虚线和虚框部分
表示 Linux 0.11 中还未实现的部分(从 Linux 0.95 版才开始逐步实现虚拟文件系统,而网络接口的支持
到 0.96 版才有)。
由图可以看出,所有的模块都与进程调度模块存在依赖关系。因为它们都需要依靠进程调度程序来
挂起(暂停)或重新运行它们的进程。通常,一个模块会在等待硬件操作期间被挂起,而在操作完成后
才可继续运行。例如,当一个进程试图将一数据块写到软盘上去时,软盘驱动程序就可能在启动软盘旋
转期间将该进程置为挂起等待状态,而在软盘进入到正常转速后再使得该进程能继续运行。另外 3 个模
块也是由于类似的原因而与进程调度模块存在依赖关系。
其它几个依赖关系有些不太明显,但同样也很重要。进程调度子系统需要使用内存管理器来调整一
特定进程所使用的物理内存空间。进程间通信子系统则需要依靠内存管理器来支持共享内存通信机制。
这种通信机制允许两个进程访问内存的同一个区域以进行进程间信息的交换。虚拟文件系统也会使用网
络接口来支持网络文件系统(NFS)
,同样也能使用内存管理子系统来提供内存虚拟盘(ramdisk)设备。
而内存管理子系统也会使用文件系统来支持内存数据块的交换操作。
若从单内核模式结构模型出发,我们还可以根据 Linux 0.11 内核源代码的结构将内核主要模块绘制
成图 2-4 所示的框图结构。
其中内核级中的几个方框,除了硬件控制方框以外,其它粗线方框分别对应内核源代码的目录组织
结构。
除了这些图中已经给出的依赖关系以外,所有这些模块还会依赖于内核中的通用资源。这些资源包
括内核所有子系统都会调用的内存分配和收回函数、打印警告或出错信息函数以及一些系统调试函数。
Linux-0.11文件系统介绍
分享到:
相关推荐
Linux网络体系结构 Linux内核中网络协议的设计与实现,Linux网络体系结构 Linux内核中网络协议的设计与实现
解释了协议的工作方式、建立了Linux网络体系结构中的多种重要概念——从设备驱动程序概念一直到应用程序接口的概念。能帮助读者更容易理解 Linux网络架构的进程和结构,而且最重要的是,使读者对此有兴趣,并了解...
主要是linux内核编程第5章内容:LINUX内核体系结构。
编写本书是为了向学生和专业人员提供在Linux内核中实现网络功能时所需的基础知识,本书也适合所有希望深入理解操作系统内部网络特定进程的人。本书介绍了Linux内核的关键网络组件及机制,同时也介绍了通信系统的设计...
Linux内核注释 第3章 内核体系结构概述
Linux内核软件体系结构恢复的研究.pdf
理解Linux内核最好预备的知识点:懂C语言懂一点操作系统的知识熟悉少量相关算法懂计算机体系结构Linux内核的特点:结合了unix操作系统的一些基础概念Linux内核的任务:1.从技术层面讲,内核是硬件与软
linux0.11内核体系结构boot
实例解析linux内核I2C体系结构_刘洪涛老师写的 其中讲了new style 方式的i2c驱动 我主要是看的这个。
Linux内核体系结构.pdf 学习资料 复习资料 教学资源
Linux网络体系结构:Linux内核中网络协议的设计与实现.chm english
第2~5章在介绍了实现网络体系结构、协议栈、设备驱动程序的两个最重要的数据结构sk_buff和net_device的基础上,展示了Linux内核中为网络设备驱动程序设计和开发而建立的系统构架,最后以两个实例来具体说明如何着手...
这些linux内核并不总是适用于所有linux支持的体系结构。实际上,这些内核版本很多时候并不是为一些流 行的嵌入式linux系统开发的,也很少运行于这些嵌入式linux系统上,这个站点上的内核首先确保的是在Intel X86体系...
第2~5章在介绍了实现网络体系结构、协议栈、设备驱动程序的两个最重要的数据结构sk_buff和net_device的基础上,展示了Linux内核中为网络设备驱动程序设计和开发而建立的系统构架,最后以两个实例来具体说明如何着手...
很好Linux内核休息书籍 第一层次修炼的内容包括了前三章, 目的是希望您能够对 Linux 以及内核有个全面的认 识和了解,掌握分析 Linux 内核源代码的分析方法。 第 1 章主要介绍了 Linux 的 18 年成长史, 或许您会...
然后对 Linux 操作系统体系结构的进行分析,结合对 Linux 任务响应时间分析, 说明了 Linux 操作系统实时性能不强的原因,接着针对各个原因提出了相应的解决方 法,最后对于方案的实现给出了试验测试和相应的评价。
linux网络体系结构,对linux内核网络部分的分析
8介绍系统时钟和硬件定时器,单处理器和多处理器上的linux计时体系结构,定时的时间插补原理,单处理器和多处理器上的时钟中断处理,动态定时器的数据结构和算法原理,定时器竞争情形,延迟函数。Time,...
《深入理解linux内核中文第三版》,高清晰扫描,真正中文第三版,对Linux 2.6内核进行了详细而细致的讲解。由于之前的压缩包分卷太多,现提供每一章的单独下载文件。100%高清晰第三版!