linux内核简介

来源:互联网 发布:数据通信与网络第四版 编辑:程序博客网 时间:2024/06/02 05:17

linux内核简介

linux体系结构

        

         从上图可知,linux由用户空间和内核空间两部分组成。

         现代CPU通常实现了不同的工作模式,以ARM为例,实现了7种工作模式:

         用户模式(usr)、快速中断(fiq)、外部中断(irq)、管理模式(svc)、数据访问中止(abt)、系统模式(sys)、未定义指令异常(und)。

         X86也实现了4个不同的级别:Ring0—Ring3.Ring0下,可以执行特权指令,可以访问IO设备等,在Ring3则有很多限制。

         linux系统利用了CPU的这一特性,使用了其中的两级来分别运行Linux内核与应用程序。这样使操作系统本身得到充分的保护。内核空间与用户空间是程序执行的两种不同状态,通过系统调用和硬件中断能够完成从用户空间岛内和空间的转移。

linux内核架构

        

         SCI(系统调用接口)为用户空间提供了一套标准的系统调用函数来访问Linux内核,搭起了用户空间到内核空间的桥梁。

         PM(进程管理)的重点是创建进程(fork/exec)、停止进程(kill/exit),并控制它们之间的通信(signal或者POSIX机制)。进程管理还包括控制活动进程如何共享Cpu,及进程调度。

         MM((内存管理)的主要作用是控制多个进程安全的共享内存区域。

         NetworkStack(网络协议栈)为Linux提供了丰富的网络协议实现。

         VFS(虚拟文件系统)隐藏各种文件系统的具体细节,为文件操作提供统一的接口。

         DD(设备驱动)控制特定的硬件设备。

目录结构

         linux内核源代码采用树形结构进行组织,非常合理的把功能相关的文件度放在同一子目录下,是程序更具有可读性。

         arch目录:内核所支持的每种CPU体系,在该目录下都有对应的子目录。

         block目录:部分块设备驱动程序。

         crypto目录:加密、压缩、CRC校验算法。

         documentation:内核的文档

         drivers目录:设备驱动程序目录

        

 

         

0 0
原创粉丝点击