Linux代码分析
代码总结
荆薪代明烛
这个作者很懒,什么都没留下…
展开
-
Linux内核【链表】整理笔记(2)
关于链表我们更多时候是对其进行遍历的需求,上一篇博文里我们主要认识了一下和链表操作比较常用的几个内核API接口,其入参全都是清一色的struct list_head{}类型。至于链表的遍历,内核也有一组基本的接口(其实都是宏定义的)供开发者调用。 首先是list_for_each(pos, head),参数pos是需要开发者在外部提供的一个临时struct list_head{}类型...转载 2020-04-05 16:36:17 · 170 阅读 · 0 评论 -
Linux内核【链表】整理笔记(1)
我们都知道Linux内核里的双向链表和学校里教给我们的那种数据结构还是些不一样。Linux采用了一种更通用的设计,将链表以及其相关操作函数从数据本身进行剥离,这样我们在使用链表的时候就不用自己去实现诸如节点的插入、删除、遍历等操作了。当然,Linux也是从2.1.x内核开始才对链表进行了这样的统一,和我们目前看到的样子几乎差不多:点击(此处)折叠或打开struct list_hea...转载 2020-04-05 16:34:50 · 141 阅读 · 0 评论 -
Linux中的RCU机制
主要参考:https://zhuanlan.zhihu.com/p/89439043?utm_source=wechat_sessionhttps://www.cnblogs.com/scottieyuyang/p/5764459.htmlRCU的基本思想先创建一个旧数据的copy,然后writer更新这个copy,最后再用新的数据替换掉旧的数据。这样讲似乎比较抽象,那么结合一个实...转载 2020-04-05 16:17:01 · 351 阅读 · 0 评论 -
linux内核之块设备驱动图解
块设备驱动程序的分层结构 块设备驱动:在Linux中,驱动对块设备的输入或输出(I/O)操作,都会向块设备发出一个请求,在驱动中用request结构体描述。但对于一些磁盘设备而言请求的速度很慢,这时候内核就提供一种队列的机制把这些I/O请求添加到队列中(即:请求队列),在驱动中用request_queue结构体描述。在向块设备提交这些请求前内核...转载 2020-03-11 11:31:53 · 1463 阅读 · 0 评论 -
BIO结构分析
https://blog.csdn.net/zhanghaiyang9999/article/details/81586385###struct bio {sector_tbi_sector; /* 本次IO操作的起始扇区,扇区都是512字节大小 */struct b...转载 2020-02-11 16:27:54 · 213 阅读 · 0 评论