发布时间:2015-01-06 11:56:03
我们都知道Linux内核里的双向链表和学校里教给我们的那种数据结构还是些不一样。Linux采用了一种更通用的设计,将链表以及其相关操作函数从数据本身进行剥离,这样我们在使用链表的时候就不用自己去实现诸如节点的插入、删除、遍历等操作了。当然,Linux也是从2.1.x内核开始才对链表进行了这样的统一,和我们目前看到的样.........【阅读全文】
发布时间:2015-01-06 11:54:48
关于链表我们更多时候是对其进行遍历的需求,上一篇博文里我们主要认识了一下和链表操作比较常用的几个内核API接口,其入参全都是清一色的struct list_head{}类型。至于链表的遍历,内核也有一组基本的接口(其实都是宏定义的)供开发者调用。 首先是list_for_each(pos,head),.........【阅读全文】
发布时间:2015-01-06 11:54:04
使用SystemTap调试新增内核模块
关键点:
1)使用SystemTap调试内核模块,探测点的编写格式示例为:
module("ext3").function("ext3_*")
2)需要将新增的helloworld模块cp到/lib/modules/`uname -r`/extra目录中,否则找不到符号。......【阅读全文】
发布时间:2015-01-06 11:52:28
前段时间在公司小范围做了一个关于PG事务实现的讲座,最后总结了一个摘要性的东西,分享一下,欢迎拍砖。背景说明: 以ACID为特征的事务是关系数据库的一项重要的也是基本的功能。了解事务的实现原理不仅对数据库产品本身的开发,对使用数据库的应用程序的开发也有一定的益处。因此本次以PostgreSQL为对象简单介绍.........【阅读全文】