自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除