基于Linux0.11内核分析:内核体系结构

内核体系结构

一个完整可用的操作系统主要由4部分组成:硬件、操作系统内核、操作系统服务、用户应用程序。
在这里插入图片描述
linux内核主要用途就是为了与计算机硬件进行交互实现对硬件的编程控制和接口操作,调度对硬件资源的访问,为用户程序提供一个高级的执行环境和对硬件的虚拟接口。
操作系统的内核结构模式主要可分为:整体式的单内核模式和层次式的微内核模式,linux0.11采用单内核模式,单内核模式主要优点是内核代码结构紧凑、执行速度快,不足之处主要是层次结构性不强。
单内核模式下操作系统提供服务的流程为:
应用程序使用指定的参数值执行系统调用指令(int 0x80),使CPU从用户态切换到核心态
然后操作系统根据具体的参数值调用特定的系统调用服务程序
这些服务程序则根据需要再调用底层的一些支持函数以完成特定的功能
完成应用程序所要求的服务后,操作系统使CPU从核心态切换回用户态返回到应用程序
单内核模式:

  • 调用服务的主程序层
  • 执行系统调用的服务层
  • 支持系统调用的底层函数
    在这里插入图片描述

内核体系模块

linux 内核主要分为5个模块:

  • 进程调度模块:用来负责控制进程对CPU资源的使用。
  • 内存管理模块:用于确保所有进程能够安全地共享内存区,虚拟内存还使进程使用比实际内存空间更多的内存容量,并利用文件系统来交换内存数据。
  • 文件系统模块:用于支持对外部设备的驱动和存储,虚拟文件系统通过向所有的外部存储设备提供一个通用的文件接口,隐藏了各种硬件设备的不同细节。
  • 进程间通信模块:用于支持多进程间的信息交换方式。
  • 网络接口模块:用于提供对多种网络通信标准的访问并支持许多网络硬件。
    如图为内核模块结构及依赖关系:
    在这里插入图片描述
    内核结构图:
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42856154/article/details/89765340