linux内核的五大模块包括什么?怎样理解?
Admin 2021-10-12 群英技术资讯 1968 次浏览
linux内核的五大模块包括什么?linux内核的五大模块包括有进程调度模块、进程间通信模块、内存管理模块、文件系统模块和网络接口模块。一些朋友可能对linux内核的五大模块不是很了解,对此下文就给大家详细的介绍一下。

一、进程调度模块
Linux以进程作为系统资源分配的基本单位,并采用动态优先级的进程高级算法,保证各个进程使用处理机的合理性。进程调度模块主要是对进程使用的处理机进行管理和控制。
【进程创建】:
在Linux环境编程时,一般采用fork()/vfork()函数(fork 是 创建一个子进程,并把父进程的内存数据copy到子进程中;vfork是 创建一个子进程,并和父进程的内存数据share一起用)来创建新的进程,当然,那是在用户空间的函数,它会调用内核中的clone()系统调用,由clone()函数继续调用do_fork()完成进程的创建。
fork()/vfork()/_clone--->clone()--->do_fork()--->copy_process()
【进程撤销】:
进程终止后,需要通知内核以便内核释放进程所拥有的资源,包括内存、打开文件以及其他资源,如信号量。进程终止的一般方式是调用exit()库函数,该函数释放C函数库所分配的资源,执行编程者所注册的每个函数,并结束从系统回收进程的那个系统调用。
【进程切换】:
进程切换又称为任务切换、上下文切换。它是这样一种行为,为了控制进程的执行,内核挂起当前在CPU上运行的进程,并恢复以前挂起的某个进程的执行。
在本质上,每个进程切换由两部分组成:
切换页全局目录以安装一个新的地址空间;切换内核态堆栈和硬件上下文,因为硬件上下文提供了内核执行新进程所需要的所有信息,包括CPU寄存器,主要有switch_to()函数完成。
【进程调度】:
现代的Linux中,调度算法可以在固定时间内(与可运行进程数量无关)选中要运行的进程。首先,我们必须知道进程可以分为实时进程与普通进程。每个LInux进程总是按照如下的调度类型被调度:先进先出的实时进程、时间片轮转的实时进程、普通的分时进程。调度算法根据进程是普通进程还是实时进程而有很大不同。
二、进程间通信模块
进程间通信主要用于控制不同进程之间在用户空间的同步、数据共享和交换。由于不同的用户进程拥有不同的进程空间,因此进程间的通信要借助于内核的中转来实现。一般情况下,当一个进程等待硬件操作完成时,会被挂起。当硬件操作完成,进程被恢复执行,而协调这个过程的就是进程间的通信机制。
进程间通信模块保证了Linux支持多种进程间通信机制,包括管道、命名管道、消息队列、信号量和共享内存等。
三、内存管理模块
Linux的内存管理模块采用先进的虚拟存储机制,实现对多进程的存储管理。它提供了十分可靠的存储保护措施,对进程赋予不同的权限,用户不能直接访问系统的程序和数据,保证了系统的安全性。同时,为每个用户进程分配一个相互独立的虚拟地址空间。
四、文件系统模块
Linux 的文件系统模块采用先进的虚拟文件系统(VFS)技术,屏蔽了各种文件系统的差别,为处理各种不同的文件系统提供了统一的接口,支持多种不同的物理文件系统达90多种。同时,Linux把各种硬件设备看作一种特殊的文件来处理,用管理文件的方法管理设备,非常方便、有效。
五、网络接口模块
Linux具有最强大的网络功能。网络接口模块通过套接字(Socket)机制实现计算机之间的网络通信,并采用网络层次模型提供对多种网络协议和网络硬件设备的支持。
网络接口提供了对各种网络标准的实现和各种网络硬件的支持。网络接口一般分为网络协议和网络驱动程序。网络协议部分负责实现每一种可能的网络传输协议。网络设备驱动程序则主要负责与硬件设备进行通信,每一种可能的网络硬件设备都有相应的设备驱动程序。
以上就是linux内核的五大模块的相关介绍啦,希望大家阅读完这篇文章能有所收获,如果还想要了解更多Linux系统的相关知识,大家可以继续浏览群英网络其他相关的文章。
文本转载自PHP中文网
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
linux中常用命令有哪些?linux命令是对Linux系统进行管理的命令,今天小编给大家简单的介绍一些linux常用命令,例如,ls命令、lsblk命令、dd命令等等,感兴趣的朋友就继续往下看吧。
解压命令unzip常用方法汇总:1、把文件解压到当前目录下unzippythontab com zip2、如果要把文件解压到指定的目录下,需要用到-d参数。unzip
方法为:1、添加到主机的路由,“# route add –host 192.168.1.11 dev eth0”;2、添加到网络的路由,“# route add –net 192.168.1.0/24 eth1”。
linux查看内存使用情况的方法:可以通过执行【cat /proc/meminfo】命令来查看。如果我们想查看进程的内存使用信息,可以执行【/proc/status】命令。
linux查看所有文件命令是“ls”。ls命令可显示指定目录下的所有文件,语法为“ls [选项] 目录名称”。若选项设为“-a”,可显示全部文件,包括隐藏文件;若选项为“-A”,开文显示全部文件,连同隐藏文件,但不包括“.”与“..”目录。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008