Linux内核体系结构(一)概览
扫描二维码
获取更多精彩
嵌入式杂牌军
编辑|追梦星空
公众号|嵌入式杂牌军
适应与转变是稳步前进的另一种方式。
文 章 导 读
今天给小伙伴们汇总下Linux内核体系结构相关的内容,主要涉及它的内核模式、内核服务的流程、体系架构组成、Linux内核源码目录树等内容!
阅读过程中有什么问题可以后台交流哈,!
1 引出Linux内核
1)操作系统的组成
一个完整的操作系统主要由4部分组成。
① 硬件。
② 操作系统内核。
③ 操作系统服务。
④ 用户应用程序。
2)Linux内核的模式
操作系统内核的结构模式主要可分为整体式的单内核模式和层次式的微内核模式。
① 整体式的单内核模式。
优点:内核代码结构紧凑、执行速度快,开销小。
缺点:层次结构性不强,内核复杂,可移植性差。
② 层次式的微内核模式。
优点:可移植性好。
缺点:开销大。
单内核采用函数调用实现模块的相关合作,多内核则使用函数间通信的方式。
3)单内核系统提供服务的流程
单内核模式的内核可粗略分为三个层次:调用服务的主程序层、执行系统调用的服务层和支持系统调用的底层函数。
① 应用主程序使用指定的参数值执行系统调用指令(int 0x80),使 CPU 从用户态切换到核心态。
② 操作系统根据具体的参数值调用特定的系统调用服务程序。
③ 服务程序则根据需要再底层的一些支持函数以完成特定的功能。
④ 在完成了应用程序所要求的服务后,操作系统又从核心态切换回用户态。
⑤ 返回到应用程序中继续执行后面的指令。
2 Linux内核系统结构
1)Linux内核的组成
Linux内核主要由5个模块构成。
① 进程调度模块。
进程调度模块用来负责控制进程对CPU资源的使用。
② 内存管理模块。
内存管理模块用于确保所有进程能够安全地共享机器主内存区。
③ 文件系统模块。
文件系统模块用于支持对外部设备的驱动和存储。
虚拟文件系统模块通过向所有的外部存储设备提供一个通用的文件接口,隐藏了各种硬件设备的不同细节。从而提供并支持与其它操作系统兼容的多种文件系统格式。
④ 进程间通信模块。
进程间通信模块子系统用于支持多种进程间的信息交换方式。
⑤ 网络接口模块。
网络接口模块提供对多种网络通信标准的访问并支持许多网络硬件。
2)Linux内核结构框图
主要可以分为三个层次用户层、内核层、硬件层。
3)Linux源码结构
进入到Linux内核源码目录用命令tree -L 2查看的二级目录树如下,后面大致写了下各个文件夹的作用,。
今天就到这吧,希望对小伙伴有所帮助哈,喜欢的话欢迎转发、点赞、分享、在看、转载哈,。
免责声明:本文内容源于网络或技术手册,版权归原作者所有。如涉及侵权问题,请与我联系删除。
推荐一款Linux下好用的截图工具shutter——shutter的安装、配置与使用