当前位置:首页 > 教育培训 >

图解linux内核(通俗易懂讲解linux内核)

来源:原点资讯(www.yd166.com)时间:2023-06-12 00:17:24作者:YD166手机阅读>>

前言:本文和其它的“Linux内核分析”文章都基于如下约定: 内核版本为Linux 3.10.29(该版本是一个long term的版本,会被Linux社区持续维护至少2年),可以从下面的链接获取:https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.10.29.tar.xz ,鉴于嵌入式系统大多使用arm处理器,因此涉及到体系结构部分的内容,都以ARM为分析对象。

图解linux内核,通俗易懂讲解linux内核(1)

一,Linux内核的核心功能

如下图所示,Linux内核只是Linux操作系统一部分。对下,它管理系统的所有硬件设备;对上,它通过系统调用,向Library Routine(例如C库)或者其它应用程序提供接口。

图解linux内核,通俗易懂讲解linux内核(2)

因此,其核心功能就是:管理硬件设备,供应用程序使用。而现代计算机(无论是PC还是嵌入式系统)的标准组成,就是CPU、memory(内存和外存)、输入输出设备、网络设备和其它的外围设备。所以为了管理这些设备,Linux内核提出了如下的架构。

二,Linux内核的整体架构

整体架构和子系统划分

图解linux内核,通俗易懂讲解linux内核(3)

上图说明了Linux内核的整体架构。根据内核的核心功能,Linux内核提出了5个子系统,分别负责如下的功能:

1. Process Scheduler,也称作进程管理、进程调度。负责管理CPU资源,以便让各个进程可以以尽量公平的方式访问CPU。

2. Memory Manager,内存管理。负责管理Memory(内存)资源,以便让各个进程可以安全地共享机器的内存资源。另外,内存管理会提供虚拟内存的机制,该机制可以让进程使用多于系统可用Memory的内存,不用的内存会通过文件系统保存在外部非易失存储器中,需要使用的时候,再取回到内存中。

3. VFS(Virtual File System),虚拟文件系统。Linux内核将不同功能的外部设备,例如Disk设备(硬盘、磁盘、NAND Flash、Nor Flash等)、输入输出设备、显示设备等等,抽象为可以通过统一的文件操作接口(open、close、read、write等)来访问。这就是Linux系统“一切皆是文件”的体现(其实Linux做的并不彻底,因为CPU、内存、网络等还不是文件,如果真的需要一切皆是文件,还得看贝尔实验室正在开发的"Plan 9”的)。

4. Network,网络子系统。负责管理系统的网络设备,并实现多种多样的网络标准。

5. IPC(Inter-Process Communication),进程间通信。IPC不管理任何的硬件,它主要负责Linux系统中进程之间的通信。

进程调度(Process Scheduler)

进程调度是Linux内核中最重要的子系统,它主要提供对CPU的访问控制。因为在计算机中,CPU资源是有限的,而众多的应用程序都要使用CPU资源,所以需要“进程调度子系统”对CPU进行调度管理。

进程调度子系统包括4个子模块(见下图),它们的功能如下:

图解linux内核,通俗易懂讲解linux内核(4)

首页 123下一页

栏目热文

linux内核配置详解(linux内核的配置原则)

linux内核配置详解(linux内核的配置原则)

前言 Linux内核是操作系统的核心,也是操作系统最基本的部分。 Linux内核的体积结构是单内核的、但是他充分采用了微...

2023-06-12 00:07:24查看全文 >>

linux设备树详解(linux 设备树与驱动)

linux设备树详解(linux 设备树与驱动)

设备树的出现上一节说过设备树的出现是为了解决内核中大量的板级文件代码,通过 DTS 可以像应用程序里的 XML 语言一样...

2023-06-11 23:45:29查看全文 >>

linux完整内核(Linux卸载内核)

linux完整内核(Linux卸载内核)

这是一个困扰 Linux 用户的常见问题。这也是考试和面试中经常问到的一个问题。下面是你需要了解的所有内容。你可能在网...

2023-06-12 00:11:30查看全文 >>

linux内核技术讲解教程

linux内核技术讲解教程

Linux内核的相关技术,Lee哥很早之前就想和大家分享一波了。但是一直苦于没有时间。今天就给大家分享一波,也算是一波福...

2023-06-12 00:05:50查看全文 >>

linux实时内核详解(linux内核内存管理详解)

linux实时内核详解(linux内核内存管理详解)

Linux内核实时化步骤内核实时化目标是在Linux内核中嵌入Xenomai实时核,构建双核系统。利用管道补丁搭建Lin...

2023-06-12 00:27:28查看全文 >>

linux内核参数大全(Linux升级内核)

linux内核参数大全(Linux升级内核)

作为一名优秀的Linux运维工程师,参数优化是一门十分重要的功课。你是不是一听到这个词就头痛?没关系,小编帮你快速掌握这...

2023-06-11 23:57:38查看全文 >>

linux 内核分析(Linux 内核分析发送缓冲区)

linux 内核分析(Linux 内核分析发送缓冲区)

概述前段时间朋友让整理Linux内核这一块的内容,抽空整理了下linux内核方面,主要从linux体系结构和linux内...

2023-06-12 00:26:32查看全文 >>

linux基本命令(linux常用命令图解)

linux基本命令(linux常用命令图解)

我们并不是每天都会谈论 Linux 的命令行。但正如一些读者指出的那样,你们也想学习一些命令行的技巧。因此,我整理了一份...

2023-06-12 00:31:29查看全文 >>

linux内核的使用(linux内核的主要功能)

linux内核的使用(linux内核的主要功能)

概述嵌入式设备驱动开发中将驱动程序以模块的形式发布,更是极大地提高了设备使用的灵活性——用户只需要拿到相关驱动模块,再插...

2023-06-11 23:48:09查看全文 >>

英雄联盟为什么调不了符文(韩国英雄联盟为什么那么强)

英雄联盟为什么调不了符文(韩国英雄联盟为什么那么强)

最近英雄联盟大更新后迎来不少吐糟,特别是对于那些步入社会的老玩家,本来就没啥时间玩,大更新后完全看不懂符文等,表示纷纷弃...

2023-06-12 00:12:19查看全文 >>

文档排行