Linux Kernel Development第三版英文版已经出版,目前有几个学生在做两个版本之间文字差异的校对,并插入到第二版译文中,此事繁琐而枯燥。与此同时,我们翻译组正在翻译。合作者康华和张波,是99年分析Linux内核源代码时带的第一届学生。现在的康华,已经属于大牛的行列。作为老师,不仅为他们欣慰,也为他们对Linux的默默贡献而自豪。本书在业界如雷贯耳,其原作者Robert Love,更是一个传奇人物,写作本书时还是在校大学生,追寻他的足迹,或许对我们有所启发,在网上找到早年对他的采访文字:http://www.yuanma.org/data/2007/0516/article_2603.htm 附:第二版的译者序: Linux最为人称道的莫过于它的*精神,所有源代码唾手可得。侯捷先生云:源码在前,了无秘密。是的,但是我们在面对它的时候,为什么却总是因为这种规模和层面所造就的陡峭学习曲线陷入困顿呢?很多朋友就此倒下,纵然Linux世界繁花似锦,纵然内核天空无边广阔。但是,眼前的迷雾重重,心中的阴霾又怎能被阳光驱散呢?纵有雄心壮志,拔剑四顾心茫然,脚下路在何方? Linux内核入门是不容易,它之所以难学,在于庞大的规模和涉及的层面。规模一大,就不易现出本来面目,浑然一体,自然不容易找到着手之处;层面一多,就会让人眼花缭乱,盘根错节,怎能让人提纲挈领? “如果有这样一本书,既能提纲挈领,为我理顺思绪,指引方向,同时又能照顾小节。阐述细微,帮助我们更好更快地理解STL源码,那该有多好。”孟岩先生如此说,虽然针对的是C++,但道出的是研习源码的人们共同的心声。但Linux源码研究的方法却不大相同。这还是由于规模和层面决定的,比如说,在语言学习中,我们可以采取小步快跑的方法,通过一个个小程序和小尝试,就可以取得渐进的成果,就能从新技术中有所收获。而Linux呢?如果没有对整体的把握,即使你对某个局部的算法、技术或是代码再熟悉,也无法将其融入实用。其实,像内核这样的大规模的软件,正是编程技术施展身手的舞台(当然,目前的内核虽然包含了一些面向对象思想,但还不能让C++一展身手)
那么,我们能不能做出点什么,让Linux的内核学习过程更符合程序员的习惯呢? Robert Love回答了这个问题。Robert Love是一个*的内核爱好者,所以他的想法自然贴近程序员。是的,我们注定要在对所有核心的子系统有了全面认识之后,才能开始自己的实践,但却完全可以舍弃旁支末节,将行李压到最小,自然可以轻装快走,迅速进入动手阶段。 因此,相对于Daniel P. Bovet和Marco Cesati的内核巨著《Understand Linux Kernel》,它少了五分细节,相对于实践经典《Linux Device Driver》,它多了五分说理。可以说,本书填补了Linux内核理论和实践之间的鸿沟,“一桥飞架南北,天堑变通途”。 就我们的经验,内核初学者(不是编程初学者)可以从这本书着手,对内核各个核心子系统有个整体把握,包括它们提供什么样的服务,为什么要提供这样的服务,又是怎样实现的。而且,此书还包含了Linux内核开发者在开发时需要用到的很多信息,包括调试技术、编程风格、注意事项等等。在这消化这本书的基础上,如果你侧重于内核的了解,可以进一步研究《Understand Linux Kernel》和源代码本身;如果你侧重于实际编程,可以研读《Linux Device Driver》,直接开始动手实践。
相关文章
- Unix环境高级编程第三版翻译怎样?
- 光标跟随 - 当鼠标向下或向右移动时消失[英]Cursor-following - Disappears when mouse moves down or right 本文翻译自 Michael Doughty 查看原文 2014-09-19 1106 css/
- 【翻译自mos文章】当指定asm disk 为FRA时,11.2.0.3的dbua hang住
- 在看java语言规范中文第三版时遇到一个讲解自增运算符中类型转换的翻译不明的问题
- 编译LDD第三版中scullc代码时遇到的问题及解决方法
- 编译LDD第三版中scullc代码时遇到的问题及解决方法
- Effective Modern C++翻译(7)-条款6:当auto推导出意外的类型时,使用显式的类型初始化语义
- 【iOS翻译】App启动时的响应过程
- LKD第三版翻译时
- jquery dataTables使我的可点击,但不会在点击时改变颜色[英]jquery dataTables make my clickable but not change color on click 本文翻译自 user6446281 查看原文 2017-02-16 162 css/