请选择 进入手机版 | 继续访问电脑版
查看: 53|回复: 4

[经验分享] 基于Linux五大模块的图文讲解

[复制链接]

签到天数: 104 天

[LV.6]签到达人

发表于 2018-10-9 11:10:49 | 显示全部楼层 |阅读模式
Linux内核主要由五大模块组成:内存管理、进程调度、进程间通信、网络接口和文件系统。

        1.进程调度
        进程调度处于系统的中心位置,内核中的其它子系统都依赖于它,因为每个子系统都需要挂起和恢复进程。进程调度控制着内核中的进程对CPU的访问,使得多个进程在CPU中可以微观的串行,宏观的并行。进程调度算法有:SCHED_OTHER  分时调度策略    SCHED_FIFO 实时调度策略,先来先服务   SCHED_RR 实时调度策略,时间片轮转。

1

1



        2.内存管理
        内存管理的主要作用是控制多个进程安全地共享内存区域,当CPU提供内存管理单元(MMU)时,Linux内存管理完成为每个进程进行虚拟地址到物理地址的转换。一般而言,Linux的每个进程享有4GB的内存空间,0~3G为用户空间,3~4G为内核空间,内核空间对常规内存、I/O设备以及高端内存存在不同的处理方式。

2

2
        



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

    5.进程通信
      Linux支持进程间的多种通信机制,包含信号量、共享内存、管道等,这些机制可以协助多个进程、多资源的互斥访问、进程间的同步和消息传递。

    Linux内核的5个组成部分之间的依赖关系如下。
    进程调度与内存管理之间的关系:这两个子系统互相依赖。在多道程序环境下,必须为程序创建进程,而创建进程的第一件事情就是将程序和数据装入内存。
    进程间通信与内存管理的关系:进程间通信子系统要依赖内存管理支持共享内存通信机制,这种机制允许两个进程除了拥有自己的私有空间,还可以存取共同的内存区域。
    虚拟文件系统与网络接口之间的关系:虚拟文件系统利用网络接口支持网络文件系统(NFS),也利用内存管理支持RAMDISK设备。

        最后用一张图总结一下

3

3


签到天数: 673 天

[LV.9]元老将成

发表于 2018-10-9 11:49:53 | 显示全部楼层
不错的资料
回复 支持 反对

使用道具 举报

签到天数: 673 天

[LV.9]元老将成

发表于 2018-10-9 11:49:55 | 显示全部楼层
不错的资料
回复 支持 反对

使用道具 举报

签到天数: 673 天

[LV.9]元老将成

发表于 2018-10-9 11:49:58 | 显示全部楼层
不错的资料
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回顶部