- 博客(4)
- 收藏
- 关注
原创 Linux 物理内存管理
内存管理十分简陋,大家都运行在物理内存上,内核和进程运行在一个空间中,内存分配算法有首次适应算法(FirstFit)、最佳适应算法(BestFit)、最差适应算法(WorstFit)等。显然,这样的内存管理方式问题是很明显的:段内存管理需要硬件的支持和软件的配合。在分段内存中,软件可以把物理内存分成一个一个的段,每个段都有段基址和段限长,还有段类型和段权限。段权限分为有特权(内核权限)和无特权(用户权限):但是分段内存管理还有一个严重的问题没有解决,那就是当时的物理内存非常少。为此当时想的办法是用软件方法来
2026-07-23 16:07:16
248
原创 Linux内核模块化编程与字符设备驱动
Linux 内核采用模块化设计,主要解决以下问题:Linux 内核模块主要由以下几个部分组成:这段代码虽然简单,但包含了 Linux 内核模块化编程需要的所有信息:第一步:包含 和 这两个头文件;通过 告诉内核你的模块遵从 “GPL” 协议,这个事情必须得做。Linux 能够成功的一个关键因素就是遵循了 GPL。第二步:注意这里没有 函数,这里叫模块的入口函数,函数名一般叫 ,这里叫 。可以把模块的入口函数当做你的 函数,你的代码就从这个地方起步。对应 ,还有个 就是当模块被卸载时调用,通常用
2026-07-22 14:36:12
208
原创 Linux内核版本命名规则及各发行版内核支持策略
Linux 内核版本号格式为:版本号各字段含义:版本后缀类型:Linux 社区为满足不同用户需要、分散开发风险、加速内核开发,将发布内核分为三大类:满足不同用户需求方面:分散开发风险:加速内核开发:(最新 Mainline 和 Stable 版本请参考 kernel.org 获取实时信息)当前主要 LTS 版本示例:Ubuntu 在发布时分为三类版本:常见疑问:系统安装时选择了 24.04 LTS 版本(假设 Linux 内核默认为 ),升级内核后(内核上游版本并没改变),为何第三方驱动有时出现编译失败问
2026-07-22 14:15:24
210
原创 CMake 详解:从源码架构到面试
基于caps项目(Enrigin 加速器栈,root 在)的真实代码讲解。文中带 ⚠️ 的是经对抗式核验纠正过的"看起来对、其实有坑"的说法。cmake -P。
2026-07-21 17:28:01
294
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅