
Linux内核
文章平均质量分 90
Linux内核源码学习
知否,知否
世事洞明皆学问
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Linux内核】【锁机制】RCU机制入门
RCU的名字取自Read-Copy-Update(读-复制-更新)三个单词的首字母,至于为什么叫这个名字,主要还是和它的工作方式有关,它本质上是一种同步机制,为了便于建立概念,你可以暂时简单地将RCU和互斥锁、读写锁、自旋锁归为一类,但RCU与它们不同的是——RCU支持多个读者和单一写者并发进行,并且读者是无锁的,因此RCU适用于读密集型的应用场景。看到这里,你或许有很多疑问,RCU为什么可以读写并发?为什么有写者存在时读者不需要等待写者操作完成?为什么有了读写锁之后还需要RCU?原创 2025-02-24 20:04:14 · 1438 阅读 · 0 评论 -
Linux MTD子系统(二)——mtdblock驱动分析
mtdX 和 mtdblockX实际上是同一个设备,mtdX是字符设备,mtdblockX是块设备mtdblockX存在的目的主要是为了挂载存在Flash里面的文件系统(例如yaffs2,jffs2)原创 2023-06-17 23:25:15 · 5500 阅读 · 2 评论 -
【嵌入式单元测试】C语言单元测试框架搭建
嵌入式单元测试框架搭建原创 2022-07-15 16:16:55 · 4168 阅读 · 3 评论 -
Linux MTD子系统(一)
MTD(Memory Technology Device)子系统(代表内存技术设备)为原始闪存设备提供了一个抽象层。 当使用不同的闪存类型和技术(例如NAND,OneNAND,NOR 等)时,可以使用相同的API。原创 2021-08-21 16:48:21 · 3182 阅读 · 1 评论 -
Linux input子系统(一)
Linux输入设备Linux将按键、键盘、鼠标、触摸屏等设备统称为输入设备,其本质还是字符设备。在一般情况下,这些输入设备在被按下时会产生一个中断或者由CPU定时轮询这些输入设备,如果输入有效,那么cpu会将读到的键值存在缓冲区,驱动的read接口就可以让用户层获取到这些键值。对于上述流程,在cpu读到有效键值之后的处理都是一样的,也就是read接口只会读取键值,不会关心具体是哪个设备。因此,Linux就设计了一个input框架来处理输入事件,这就是——input子系统。总结起来就是——Linux内核原创 2021-10-10 22:27:54 · 1348 阅读 · 1 评论 -
【NAND文件系统】UBIFS介绍
UBIFS 是诺基亚工程师在塞格德大学的帮助下开发的一种新的闪存文件系统。 在某种程度上,UBIFS 可以被视为 JFFS2 文件系统的下一代。UBIFS工作在UBI卷之上,不能在MTD设备之上运行,也不能在block设备上运行。......原创 2022-06-16 15:35:33 · 7787 阅读 · 0 评论 -
【文件系统】如何在ubi之上运行squashfs
UBI提供了能够在ubi卷之上创建只读块设备的特性,这使得squashfs也能够“运行”在ubi卷之上。原创 2022-06-22 15:25:58 · 4365 阅读 · 5 评论 -
【NAND文件系统】UBI介绍
UBI全称Unsorted Block Images,是一种原始flash设备的卷管理系统。这个系统能在一个物理的flash设备上管理多个卷并且能在整个flash芯片上实现损耗均衡。原创 2022-06-17 16:45:31 · 12066 阅读 · 1 评论 -
CONFIG_MTD_PARTITIONED_MASTER说明
CONFIG_MTD_PARTITIONED_MASTER对于许多用例,拥有一个用于整个设备的设备节点是有帮助的。MTD 设备以及各个分区的设备节点。例如,这允许查询整个设备的属性。一个常见的习惯用法是创建一个额外的分区,它跨越在整个设备上。这个补丁做了一个配置选项,CONFIG_MTD_PARTITIONED_MASTER,这使得主分区即使在设备已经建立分区的情况下仍然存在。 默认情况下不会打开,因为它提供了向后不兼容的设备编号。总结就是一句话:将整个flash设备当作一个分区注册进内核原创 2021-08-20 14:05:44 · 574 阅读 · 0 评论 -
container_of宏定义分析
container_of(ptr, type, member) 位于Linux内核源码Kernel.h中:#define offset_of(type, memb) \ ((unsigned long)(&((type *)0)->memb))#define container_of(ptr, type, member) ({ \ con...原创 2020-02-17 14:51:58 · 700 阅读 · 0 评论