linux内核体系结构

讲述一下本人对linux内核体系的理解

1.内核的层次分层从上到下
1.1 sdk和库(用户态)
我们的高级语言调用库是通过用户态的一个api进行调用 所以可以俗称为用户态的api层
在我们调用库函数的时候 主要是从用户态切换到内核态 也就是cpu的切换
2.系统服务接口层
比如我们的vfs 文件系统 我们用户态调用一个write函数 那么就会到 系统服务接口层进行调用sys_write 进行传递具体的功能 类似我们的信号机制 kill proc -9 一样 进行传递 到内核层 接着进行内核的处理
服务层说白了相当于一个快递员的作用 只传递不处理
3.内核层
内核层 通过驱动管理(字符型驱动 块设备驱动 网络驱动)还有进程管理模块和进程通信模块 文件系统模块还要包含内部的sync 这各种模块之间产生的关系 举例如下 VFS文件系统模块 通过sync 和内存管理模块有着很大的关系 比如我们的VFS的缓存和回存机制 因为我们的分页分段管理 需要把程序当前的执行块先调入内存 然后把不用的回存到硬盘
进程管理模块和进程的通信模块 也有关系 比如进程的通信 需要管理模块进行管理共享资源 进程的创建 撤销 等等
VFS对于字符驱动和网卡驱动还有块设备驱动 也有关系 比如我们的网卡 读写 还有字符显示到显卡 文件系统和硬盘之间的映射 等等
字符驱动和块设备驱动还有网络驱动合成一个管理模块
4.硬件系统
内核通过驱动调用硬件系统执行对应的硬件任务
5,硬件和硬件层
对应的硬件区域
总结 我们的硬件和驱动分不开 所以这两者联系也很大 每个linux的文件夹都属于一个文件系统存储在对应的扇区
每一个硬件都会变成一个文件系统 通过响应的读写删除 等操作对于硬件实行操控
linux内核在发展路程中 他的结构一直是相对独立起来的 易于升级和维护 管理层和实现层 都是独立起来的
不过一直发展更新的主流都是更新实现层 也就是驱动层更新 也就是说我们的管理层 和驱动层 没有多大关系 我们可以做驱动 不会影响管理层 管理层只是一个传递信号的作用 主要是更新的是驱动的种类 还有进程调度算法等等 他们的管理并没有发生多大改变

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值