关闭

悟空学Linux专栏----第6篇

标签: linuxlinux内核源码内核
150人阅读 评论(0) 收藏 举报
分类:

  研究了Linux内核的链表之后,悟空第一次被Linux内核高超的设计技巧所吸引,一个简单的双向链表中竟然包含了这么多的道理。悟空深深的被这些看似简单,却十分高效的设计所震撼。所以悟空决定好好的研究一下Linux内核管理数据的数据结构。悟空决定研究的第二数据结构就是队列。

  然而研究完队列之后悟空感觉有点失望,他无法找到队列的设计中有什么令他感到震惊的地方,更没有什么地方让悟空感到神奇。无非都是一些枯燥无味的操作:

  创建队列:int kfifo_alloc(struct kfifo,unsigned int size,gfp_t gfp_mask);

  推入函数:unsigned int kfifo_in(struct kfifo *fifo,const void *from,unsigned int len);

  摘取函数:unsigned int kfifo_out(struct kfifo *fifo, void *to,unsignend int len);

  偷窥函数:unsigned int kfifo_out_peek(struct kfifo *fifo, void *to,unsignend int len,unsigned offset);

  悟空感觉只有看到“偷窥函数”的时候,内心之中才能感到一丝无名的兴奋。看着这些函数,悟空开始对自己的理解能力有点怀疑了,是不是自己的资质不够,无法体会这些函数背后深藏的含义。悟空决定再次去请教一下达人先生,但是由于上次悟空没有教达人先生七十二变。所以悟空决定换个身份再去请教达人先生,所以悟空摇身一变变成了猪八戒的样子。

  “八戒”曰:师傅,为什么Linux内核中的队列设计的这么简单啊?其中有什么奥秘吗?

  达人(心声:看来这猪头最近开窍了,竟然会反问为什么啦?)曰:你不是已经找到了队列设计的奥秘所在了吗?简单就是队列设计的最大的奥秘啊,一个问题如果能够用简单的方式解决,你何必还要找一个复杂的方法来解决呢?你不是给自己找别扭吗?

  “八戒”这才恍然大悟,原来简单就是队列的最大奥秘。想到这“八戒”头也不回的走了。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:7262次
    • 积分:545
    • 等级:
    • 排名:千里之外
    • 原创:49篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档