我在当当上的一个书评_深入Linux内核架构书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 算法 > 深入Linux内核架构 > 我在当当上的一个书评
wolfvx 深入Linux内核架构 的书评 发表时间:2011-07-02 14:07:56

我在当当上的一个书评

几个月前看到当当上有一个评论说翻译的不准确,列了几处不准确之处,我刚好看过,就回复批驳了一番。
最近这位评论者跑到互动网上去为《linux内核设计与实现》第3版做托,大肆诋毁《深入Linux内核架构》,所以把几个月前批驳他的评论发到此处,以为钧鉴!

==========================
看到有个评论说“翻译得一般,有很多处不准确”,所以去看了一遍“不准确”之处,发现译文其实很准确,当然可能是评论者没看懂,呵呵!
摘录评论如下(横线之间部分),并逐一评价之:
----------------------------
P175"paging_init is responsible for setting up the page tables that can be used only by the kernel and are not accessible in userspace"
似应为:"paging_init 负责建立由内核访问的页表..."
发表于 2011-03-16 19:42
----------------------------
中文版在p140页下部,“paging_init负责建立只能用于内核的页表,用户空间无法访问”,事实上没有错,当然可以改进为“负责建立只能由内核使用的页表”


----------------------------
P174"Various memory areas are then reserved, for instance, for the initial RAM disk needed when running the first userspace processes"
似应该为:"为特定用途的memory area保留内存"
发表于 2011-03-16 19:31
----------------------------
中文版在p139,“接下来分配各种内存区”,与原文语义完全一致,reserved应当翻译为分配,评论者认为当译为“保留”的作法属于中国式英语


----------------------------
P173"If this information is not provided by the BIOS (this may be the case on some older machines), the kernel itself generates a table to mark memory in the ranges 0–640 KiB and 1 MiBend as usable."
似应为:"如BIOS不能提供那些信息(内存占用),the kernel自己就生成0-640K和1M之下的内存占用表归自己使用"
发表于 2011-03-15 21:26
---------------------------
中文版在p139,“如果BIOS没有提供该信息(在较古老的机器上是这样),内核自身会生成一个表,将0~640KiB和1MiB之下的内存标记为可用”,这应该是正确的译法


---------------------------
原版P163:
On SMP systems, setup_per_cpu_areas initializes per-CPU variables defined statically in the source code (using the per_cpu macro) and of which there is a separate copy for each CPU in the system. Variables of this kind are stored in a separate section of the
kernel binaries. The purpose of setup_per_cpu_areas is to create a copy of these data for each system CPU. This function is a null operation on non-SMP systems.
这段话意思是针对per_cpu这个宏?义的变量对每个CPU进行初始化的意思.
本书的翻译:"在SMP系统上,setup_per_cpu_areas初始化源代码中(使用per_cpu宏)定义的静态per_cpu变量....."
----------------------------
中文版在p131,“在SMP系统上,setup_per_cpu_areas初始化源代码中(使用per_cpu宏)定义的静态per-cpu变量,这种变量对系统中的每个CPU都有一个独立的副本。此类变量保存在内核二进制映像的一个独立的段中。setup_per_cpu_areas的目的是为系统的各个CPU分别创建一份这些数据的副本。”
译文的意思是没有问题的,"per-cpu变量"的意思是指此类用per_cpu宏定义的数组,数组的每个元素分别对应于系统中的一个CPU。
评论者完全是断章取义,将正确的译文错误引用为“静态per_cpu变量”,他的看法估计是认为去初始化per_cpu这个变量了,一个下划线和连字符之差,谬误千里之外,呵呵
==========================

展开全文
有用 12 无用 0

您对该书评有什么想说的?

发 表

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

对“我在当当上的一个书评”的回应

November_Rain 2017-01-12 07:08:25

楼上几个人看过吗?英文版也是作者自己写的,不是别人翻译的,很流畅

一把黄土背朝天 2016-03-20 01:57:41

据说英文版都是翻译残了的,再过来也难免出问题。有,阅读中也遇到过,有问题的地方个人建议最好结合深入理解内核一起读,有个照应。

ihcbbs 2014-04-24 18:49:40

一群人对着英文版讨论中译本的好坏。。。没听说原版是德文么。。。

呵呵 2013-12-02 21:43:59

在中文版的467页也有一个明显的错误,倒数那几行的总结要点里边的第一点,超级块的作用第二句。原文为“The kernel uses only the superblock of the first block group to read filesystem meta-information,
even if there are superblock objects in several block groups.”,翻译为了"内核只使用第一个块组超级块读取文件系统的原信息,即使在几个超级块中都有超级块",后半句应该翻译为"即使再几个块组中都有超级块"。

di 2012-08-23 22:59:11

谢谢指点,我们后来的人很需要你们的评论。

Melo 2012-07-09 17:35:02

我也看过,翻译确实很准确,内容详实,和《深入理解linux内核》比有过之而无不及,想黑《深入linux内核架构》是很需要水平的,功力修够了再来吧。

wflinQ 2011-12-21 09:52:20

兄台,我顶你。