Linux内核的五大子系统

本文介绍了Linux内核的基本概念,包括内核的作用、分类,以及内核主要子系统的功能,如内存管理、进程管理、进程间通信、虚拟文件系统和网络接口。这些子系统在操作系统中发挥着关键作用,确保系统的稳定性和性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

01

前言

         小编最近在学习 Linux 环境下 IO 编程这块的内容,在开始实操之前,小编打算写一篇关于Linux内核组成的推文,用来简单描述一下Linux内核的组成及其相关作用,这样有助于对 IO 编程的整体理解。

02

内容目录

图片

03

开启硬货分享

什么是内核

           对于Linux内核组成的描述之前,需要先说明一下什么是内核?

内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。

内核,是一个操作系统的核心。是基于硬件的第一层软件扩充,提供操作系统的最基本的功能,是操作系统工作的基础,它负责管理系统的进程、内存、内核体系结构,设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。

内核的分类可分为单内核和双内核以及微内核。严格地说,内核并不是计算机系统中必要的组成部分。

(注:该段内容参考或来源于百度百科)

内核的组成

          对于内核的组成,小编百度看博客的时候,有些说四种,有些说五种。差别就在于有没有进程间通信,为了知识不遗漏,小编在这里按五种来处理。如果读者有不同看法,可以后台留言与小编讨论。     

图片

各子系统作用

1、内存管理

外文名:Memory Manager

内存管理是指软件运行时对计算机内存资源的分配和使用的技术。其最主要的目的是如何高效,快速的分配,并且在适当的时候释放和回收内存资源。一个执行中的程式,譬如网页浏览器在个人电脑或是图灵机(Turing machine)里面,为一个行程将资料转换于真实世界及电脑内存之间,然后将资料存于电脑内存内部(在计算机科学,一个程式是一群指令的集合,一个行程是电脑在执行中的程式)。一个程式结构由以下两部分而成:“本文区段”,也就是指令存放,提供CPU使用及执行;“资料区段”,储存程式内部本身设定的资料,例如常数字串。

(注:该段内容参考或来源于百度百科)

概括:

1、虚拟内存地址与物理内存地址之间的映射

2、管理整个系统的物理内存

3、快速响应内核各个子系统对内存分配的请求

2、进程管理

外文名:Process Scheduler

进程是正在运行的程序实体,并且包括这个运行的程序中占据的所有系统资源,比如说CPU(寄存器),IO,内存,网络资源等。很多人在回答进程的概念的时候,往往只会说它是一个运行的实体,而会忽略掉进程所占据的资源。比如说,同样一个程序,同一时刻被两次运行了,那么他们就是两个独立的进程。linux下查看系统进程的命令是ps。

(注:该段内容参考或来源于百度百科)

概括:

1、管理多个进程对于CPU的访问

2、为多个进程划分时间片

3、同一时间内只有一个进程在运行

4、实现 “ 微观串行,宏观并行 ”(高度概括)

3、进程间通信

外文名:Interprocess communication

简称:IPC

进程间通信就是在不同进程之间传播或交换信息,那么不同进程之间存在着什么双方都可以访问的介质呢?进程的用户空间是互相独立的,一般而言是不能互相访问的,唯一的例外是共享内存区。另外,系统空间是“公共场所”,各进程均可以访问,所以内核也可以提供这样的条件。此外,还有双方都可以访问的外设。在这个意义上,两个进程当然也可以通过磁盘上的普通文件交换信息,或者通过“注册表”或其它数据库中的某些表项和记录交换信息。广义上这也是进程间通信的手段,但是一般都不把这算作“进程间通信”。

(注:该段内容参考或来源于百度百科)

概括:

1、支持进程间的多种通信机制。

常见有七种:

①管道---->pipe

②命名管道---->FIFO

③消息队列---->MessageQueue

④共享存储(内存)---->SharedMemory

⑤信号量---->Semaphore

⑥套接字---->Socket

⑦信号---->sinal 

2、实现多个进程、多资源的互斥访问、进程间的同步和消息传递

4、虚拟文件系统

外文名:Virtual File Systems

简称:VFS

虚拟文件系统(VFS)是由Sun microsystems公司在定义网络文件系统(NFS)时创造的。它是一种用于网络环境的分布式文件系统,是允许和操作系统使用不同的文件系统实现的接口。虚拟文件系统(VFS)是物理文件系统与服务之间的一个接口层,它对Linux的每个文件系统的所有细节进行抽象,使得不同的文件系统在Linux核心以及系统中运行的其他进程看来,都是相同的。严格说来,VFS并不是一种实际的文件系统。它只存在于内存中,不存在于任何外存空间。VFS在系统启动时建立,在系统关闭时消亡。

(注:该段内容参考或来源于百度百科)

概括:

1、该系统是实现 “一切都是文件” 特性的关键

2、常见文件系统类型:例如FAT、FAT32、NTFS、EXT2、EXT3

3、该系统的功能是管理各种各样的文件系统

5、网络接口

简称:NET

网络接口提供了对各种网络标准的存取和各种网络硬件的支持。在Linux中网络接口可分为网络协议和网络驱动程序,网络协议部分负责实现每一种可能的网络传输协议,网络设备驱动程序负责与硬件设备通信,每一种可能的硬件设备都有相应的设备驱动程序。

概括:

需了解几个概念

1、网络协议

2、套接字

3、设备接口

4、网络缓冲区

04

结尾

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皮肤小白生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值