您的位置:首页 > 其它

内核链表

2016-04-26 09:13 435 查看


“你,听过双向链表吗?”

“恩恩,最简单的线性数据组织……” 

“装逼,知道它的优缺点吗” 

“恩恩,插入删除快速,遍历比较慢,而且……”

“行了,知道内核链表吗”

“恩恩,传统链表没有实现逻辑分离,因此操作接口……”

“喂!你真的是一个,应届生?”

“恩恩。”

“你,明天过来找人事部的张小姐签……”

“签你妹!每次打断我说话,滚!”

“……”一脸懵逼的面试官

 

废话少讲,传统链表如下:



特点:

 

节点既包含了后续节点的指针,也包含了前趋节点的指针,而且一般都设计成循环,这样就可以非常方便地从链表的任意一个位置开始遍历整个链表。

 

内核链表如下:



特点:

把传统链表中的“链”抽象出来,使之成为一条只包含前后指针的纯粹的双循环链表,这样的链表由于不含有特殊的数据,因此它实质上就是链表的抽象。最后将这样的标准链表镶嵌到具体节点里面。

 

内核链表通过将数据与逻辑分离,实现了统一管理Linux内核中成千上万种节点的操作,这种抽象方法在内核各个子系统中都有应用,比如设备模型管理,比如网络子系统等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: