站长家园(原代码之家)(www.adminjie.com)网站源码,微信源码,游戏源码,商业源码分享平台。
当前位置:网站首页 技术文章 网络编程 正文

linux有哪些模块

时间:2022-04-15 [网络编程]作者:fabuyuan 浏览:6 次

linux有5大模块:1、进程调度模块,主要是对进程用的处理机进行管理和控制;2、进程间通信模块,主要用于控制不同进程间在用户空间的同步、数据共享和交换;3、内存管理模块,采用先进的虚拟存储机制,实现对多进程的存储管理;4、文件系统模块等。

linux有哪些模块  2

本教程操作环境:linux5.9.8系统、Dell G3电脑。

Linux 内核包含有五大子模块:进程调度模块、进程间通信模块、内存管理模块、文件系统模块、网络接口模块。

linux有哪些模块  2

一、进程调度模块

  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有哪些模块的详细内容,更多请关注站长家园其它相关文章!

本文标签:  linux模块

转载请注明来源:linux有哪些模块

本文永久链接地址:https://www.adminjie.com/post/11209.html

免责声明:
本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

附:
二○○二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!

版权声明:
一、本站致力于为软件爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、本站提供的部分源码下载文件为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
三、我站提供用户下载的所有内容均转自互联网。如有内容侵犯您的版权或其他利益的,若有侵犯你的权益请:提交版权证明文件到邮箱 2225329873#qq.com(#换为@) 站长会进行审查之后,情况属实的会在三个工作日内为您删除。

  • 站长家园(原代码之家)会员升级
  • 最新文章
    • linux中什么是镜像文件

      linux中什么是镜像文件

      在linux中,镜像文件是将特定的一系列文件按照一定的格式制作成单一的文件,与zip压缩包类似,为了方便用户的下载和使用;镜像文件的特点是可以被特定的软件识别并...

    • linux有判断文件存在的函数吗

      linux有判断文件存在的函数吗

      linux有判断文件是否存在的函数;该函数为makefile的wildcard函数。wildcard函数可以匹配文件列表,若不存在符合指定模式的文件,函数会返回...

    • linux无法使用telnet怎么办

      linux无法使用telnet怎么办

      解决方法:1、用“yumlisttelnet*”列出telnet相关安装包;2、用“yuminstall-ytelnet-server”安装telne...

    • linux中shell有什么用

      linux中shell有什么用

      在linux中,shell用于合并编程语言以控制进程和文件,以及启动和控制其他程序;shell用于减少大量的重复输入和交互操作,能够进行批量的处理和自动化完成维...

    • jquery有哪些第三方插件

      jquery有哪些第三方插件

      jquery第三方插件:1、Validation,一个表单验证插件;2、Form,一个Ajax表单插件;3、livequery,一个动态绑定事件插件;4、Coo...

    热门文章