Chinaunix首页 | 论坛 | 博客
  • 博客访问: 258004
  • 博文数量: 52
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 277
  • 用 户 组: 普通用户
  • 注册时间: 2016-06-09 10:57
文章分类

全部博文(52)

文章存档

2016年(52)

我的朋友

分类: LINUX

2016-09-13 18:47:08

        Linux内核主要由五大模块组成:内存管理、进程调度、进程间通信、网络接口和文件系统

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

                                

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

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

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

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

                            



阅读(4014) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~