circle0
驱动牛犊
驱动牛犊
  • 注册日期2007-03-27
  • 最后登录2010-08-08
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望6点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:2695回复:3

刚开始激动地想买,但看了前几章电子版,想来想去还是不买了

楼主#
更多 发布于:2008-06-19 10:54
说实话,翻译质量确实不敢恭维.
原以为会又是一本牛译的好书,毕竟是驱网出的驱动相关的教程翻译.

但我看了前几章,看得我头发晕,完全就是英语的直译。没有那种把英语翻译成为真正中文的感觉。

我估计像我一样的初学者,看到这本书之后,大部份会产生“太难了,再不学文件系统“的想法。
的确,像这样,本来技术就不容易,还要去首先把文字理解清楚,能不难吗?

我这举一些例子:(说明:这是我随便翻到一页,随便找的,根本没有特意去找,这样的例子,通篇都是)
我在下面也说明,我自认为应该怎样翻译更好。(注,我的自认为的只是参考比较,因为我的理解可能不对)

1.4章3页: 而是调用一个由I/O管理器提供的系统服务调用叫NtReadFile
           而是调用一个由I/O管理器提供的叫NtReadFile的系统服务
 
2.4章3页:I/O管理器提供自动执行必要的操作从而使内核驱动能够使用在内核中可访问的缓冲地址的支持
      I/O管理器能够自动执行必要的操作,从而使内核驱动能够使用该缓冲地址

3 4章3页:I/O管理器能被Nt操作系统的其他组件使用的设备无关的服务
       这句话实在看不懂(是不是有漏字或错字?)

4 5章8页:一个错误将会返回
      将会返回一个错误(注:明显的直译,虽然也可读懂,但译者稍用点心就可以译得更好)


    
更有一点,很多时候这个“上下文”可以译成“环境”,译者也知道,但为什么还是偏偏要译成“下上文”呢?

以上言论只代表本人个人看法。不管怎样,可以知道译者是付出过不少心血的。但我只是希望,付出心血的同时,能让大家都认可,就更完美了。
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
沙发#
发布于:2008-06-19 23:56
楼上的兄弟,这个版本是beta版本,我们已经进行过n次修订了,质量大大提高,你说的问题早没有了:)
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
板凳#
发布于:2008-06-19 23:59
NT I/O管理器提供的功能
NT I/O管理器监视着NT I/O子系统。下面是NT I/O管理器提供的一些功能的列表:

•    NT I/O管理器定义和支持一个框架来使操作系统能够使用连接到系统的外部设备。
WINDOWS NT可以使用的外部设备的类型和数量是没有限制的,因为外部设备是不断在被设计和开发。因此I/O子系统对于一个商业操作系统如NT这样的必须是定义良好的而且可扩展的,这样就能够轻易地适应千变万化的设备,每个都有自己唯一特征集合的设备。
•    NT I/O管理器提供全面的系统服务让其他的不同子系统用来执行实际的I/O或者向内核模式驱动请求其他的服务。
考虑一个用户进程发出一个读请求。这个请求发送给控制子系统如WIN32子系统。注意WIN32子系统并不直接把读请求发送给文件系统驱动或设备驱动,而是调用一个由I/O管理器提供的系统服务调用叫NtReadFile。NtReadFile系统服务负责把请求发到适当的驱动然后把结果输送给WIN32子系统。还要注意由用户进程提供的用于读操作的缓冲通常不能直接被最后处理读请求的内核驱动使用。I/O管理器提供自动执行的必要操作从而使内核驱动能够使用在内核中可访问的缓冲地址的支持。在这一章的后面,会更详细的描述操纵用户模式缓冲的操作。

虽然本地NT系统服务文档非常少(几乎没有),你可以在本书的附录A中找到那些服务的详细的描述。
•    I/O管理器定义了系统中执行的驱动程序都必须遵循的一个单一I/O模式。上面提到过的,这个模式由对象和用来操纵对象的一组方法组成。内核驱动不需要关心I/O请求发起者,因为他们以同样的方式回应所有的I/O请求。
这样的结果就是给I/O子系统提供一个兼容的接口,例如WIN32或者POSIX子系统,这也使得内核驱动不必关心发出的I/O请求的变化无常的各种子系统。
另外,因为每一个内核驱动必须服从单一I/O模式,内核驱动可以使用彼此提供的服务,因为内核驱动并不关心I/O请求来自内核模式还是用户模式。但是如果你要从你的驱动调用其他的驱动提供的服务,有一些事项你必须知道,这些在这一章的后面描述。
最后,单一I/O模式能够实现I/O管理器支持的层次化的内核驱动。每个驱动层中的内核驱动可以利用下面的驱动提供的服务来完成特定的操作。接下来,下面的驱动可以完成接到的请求而不管请求来自用户进程或者驱动层中的位于上面的驱动。
    •    I/O管理器支持用连接到系统的外部设备实现的可安装文件系统
        NT操作系统支持包括CD-ROM文件系统,基于记录的NTFS文件系统,遗留的FAT文件系统,LAN管理器文件系统重定向器,还有HPFS文件系统。除此之外还支持比如本地和基于网络的文件系统,I/O管理器提供开发外部可安装文件系统的基础,即是说,第三方作者实现的文件系统。你可以购买商业实现的NFS(网络文件系统),DFS(分布式文件系统),和其他文件系统和网络重定向器的实现。
•    NT I/O管理器支持动态加载内核驱动程序。
•    I/O管理器能被NT操作系统的其他组件使用的设备无关的服务,也可以被第三方作者实现的内核驱动利用。
如果一个内核驱动需要调用另一个内核驱动程序的调度例程,它可以使用I/O管理器提供的IoCallDriver服务。类似的,如果一个内核驱动要分配一个内存描述
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
circle0
驱动牛犊
驱动牛犊
  • 注册日期2007-03-27
  • 最后登录2010-08-08
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望6点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-06-20 09:54
嗯,希望可以下载的电子版也更新一下,让大家看看效果。
游客

返回顶部