linux内核架构
阅读数:82 评论数:0
跳转到新版页面分类
架构学
正文
一、概述
linux内核是一种微内核,使用模块化设计思想,许多功能都可以编译为一个模块,并且支持动态的加载和卸载。
1、内核代码组织
arch目录 | 不同平台体系相关代码 |
block目录 | 块驱动设备 |
certs目录 | 与认证和签名相关代码 |
crypto目录 | 内核常用加密、压缩算法等代码 |
Documentation目录 | 描述模块功能与协议规范代码 |
Drivers目录 | 驱动程序(USB总线、PCI总线、显卡驱动等等) |
firmware目录 | 主要是一些二进制固件 |
fs目录 | 虚拟文件系统代码 |
include目录 | 内核源码依赖绝大部分头文件 |
二、内核架构
1、用户态与内核态
(1)linux使用ring0和ring3两种模式实现内核态和用户态。
(2)二者的切换是基于系统调用(本质是中断,中断是进入内核态唯一方法)
2、体系结构Arch抽象层