通过对比 2.4 和 2.6 内核代码,不得不佩服内核开发者的智慧,为了提高内核性能,一直不断的进行各种优化,并将业界最新的 lock-free 理念运用到内核中。
在实际开发过程中,进行无锁设计时,首先进行场景分析,因为每种无锁方案都有特定的应用场景,接着根据场景分析进行数据结构的初步设计,然后根据先前的分析结果进行并发模型建模,最后在调整数据结构的设计,以便达到最优。
参考资料
Andrei Alexandrescu. 《 Lock-Free Data Structures--- Keeping threads moving while avoiding deadlock 》,《 Dr. Dobb's Journal 》, October 01, 2004。
《 Non-blocking synchronization 》,
Shameem Akhter and Jason Roberts. 李宝峰,富弘毅,李韬译 . 《多核程序设计技术》,电子工业出版社,2007。
Rebert Love,《 Linux Kernel Development,2rd Edition 》,机械工业出版社,2006。
Daniel P. Bovet,Marco Cesati,《 Understanding the Linux Kernel,3rd Edition 》,东南大学出版社,2006。
Jonatban Corbet 等,魏永明等译,《 Linux 设备驱动程序》,中国电力出版社,2006。
Gordon Fischer 等,《 The Linux Kernel Prime 》,机械工业出版社,2006。
在 developerWorks Linux 专区 寻找为 Linux 开发人员(包括 Linux 新手入门)准备的更多参考资料,查阅我们 最受欢迎的文章和教程。
在 developerWorks 上查阅所有 Linux 技巧 和 Linux 教程。
关于作者
杨小华,目前从事 Linux 内核方面的研究,喜欢捣鼓 Linux 系统,对 Linux 中断系统比较了解。可以通过 normalnotebook@126.com 与他取得联系。