LINUX内核设计与实现
随着Linux内核和Linux应用程序越来越成熟,越来越多的系统软件工程师涉足Linux开发和维护领域。他们中有些人纯粹是出于个人爱好,有些人是为Linux公司工作,有些是为硬件厂商做开发,还有一些是为内部项目工作的。
但是所有人都必须直面一个问题:内核的学习曲线变得越来越长,也越来越陡峭。系统规模不断扩大,复杂程度不断提高。长此以往,虽然现在的内核开发者对内核的掌握越发炉火纯青,但却会造成新手无法跟上内核发展步伐,出现青黄不接的断层。
我认为这种新老鸿沟已经成为内核质量的一个隐患,而且问题将继续恶化。所以那些真正关心内核的人已经开始致力于扩大内核开发群体。
解决上述问题的一个方法是尽量保证代码简洁:接口定义合理,代码风格一致,“一次做一件事,做到完美”等等。这也就是Linus Torvalds倡导的解决办法。
我提倡的解决办法是对代码慷慨地加上注释:能够让读者立刻了解代码开发者意图的文字(识别意图和实现之间差异的工作称为调试。如果意图不明确显然调试就难以进行)。
可是,即使有注解,也没办法清楚地展现内核的各个主要子系统的全景,说明它们到底要做什么。那么,这些开发者又该从何下手呢?
由文字材料来说明这些在起步阶段就该理解的材料,其实是最合适的。
Robert Love的贡献就在于此,有经验的开发者可以通过本书全面了解内核子系统提供的服务,同时还可以了解这些服务是怎么实现的。对不少人来说,这些知识就已经足够了:那些好奇的人,那些应用程序开发者,那些想对内核的设计品头论足一番的人,都有足够的谈资了。
但是本书同样可以为那些有抱负的内核开发者更上一层楼提供契机,可以帮他们更改内核代码以达到预定的目标。我建议有抱负的开发者能够亲身实践:理解内核某部分的捷径就是对它做些修改,这样能为开发者揭示仅仅通过看内核代码无法看到的深层机理。
严谨认真的内核开发者都应该加入开发邮件列表,不断和其他开发者交流。这是内核开发者相互切磋和并肩前进的最好方法。Robert在本书中对内核生活中至关重要的文化和技巧都做了精彩介绍。
请学习和欣赏Robert的书吧。想必你也希望能精益求精,继续探索,成为内核开发社区中的一员,那么首先你要清楚的是:社区欢迎你。我们评价和衡量一个人是根据他所做的贡献,当你投身于Linux时,你要明白:虽然你仅仅贡献了一小份力,但马上就会有数千万或上亿人受益。这是我们的欢乐之源,也是我们的责任之本。
(访问密码:9390)
资源链接
LINUX内核设计与实现.rar:https://url88.ctfile.com/f/5138588-532179306-f95b0b标签
发布日期
2022-01-11
擦亮日期
2023-08-27