Chinaunix首页 | 论坛 | 博客
  • 博客访问: 456096
  • 博文数量: 724
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 14:47
文章分类

全部博文(724)

文章存档

2011年(1)

2008年(723)

我的朋友

分类:

2008-10-13 17:02:10

编者按——

  首先预祝大家春节快乐,万事如意,给大家拜个早年啦!技术英语论坛活跃着不少热衷技术的网友,记得一篇网友的文章中说“对于搞计算机的而言,英语就是你的母语!”。我觉得这句话的现在正确的原因是大多数计算机技术文献还是英文的,在这个方面我们比欧美先进国家还是差了很多。作为中国IT人,大家共同努力啊!

..............................................................................

主题:实在是没有完全看懂,哪位帮帮忙!
作者:jozu (秀才)
回复次数: 12
发表时间: 2004-12-30 15:24:42

原文:Applications use completion ports as the the focal point for the completion of I/O associated with multiple file handles. Once a file is associated with a completion port any asynchronous I/O operations that complete on the file result in a completion packet being queued to the port. A thread can wait for any outstanding I/Os to complete on multiple files simply by waiting for a completion packet to be queued on the completion port. The Win32 API provides similar functionality with the WaitForMultipleObjects API, but the advantage that completion ports have is that concurrency, or the number of threads that an application has actively servicing client requests, is controlled with the aid of the system.

译文:应用程序使用完成端口作为完成与多个文件句柄关联的 I/O 焦点。一旦文件与某个完成端口关联,任何针对该文件的异步 I/O 操作将导致完成数据包进入端口队列。线程只通过等待在完成端口上排队的完成包来实现等待对多个文件任何未完成的I/O操作到完成。Win32 API用 WaitForMultipleObjects API提供类似的功能,但是完成端口的优点在于其并发处理——也就是说应用程序所具备的为客户请求提供服务的活跃线程数——是由系统来控制的。

辨析:这段英文资料还是有相当难度的。首先,我们应该了解两个基本的词:asynchronous异步的(adj),concurrency并发(n)。然后我着重剖析其中的第3句:A thread can wait for any outstanding I/Os to complete on multiple files simply by waiting for a completion packet to be queued on the completion port.这个句子主语部分是“A thread”(线程),“线程可以等待对多个文件任何未完成I/O操作到完成”,这样句子的前半部分定下来了。后面的部分从“simply by”可以看出是要说明如何来进行等待操作的,to be queued on the completion port是修饰a completion packet,可以先将它去掉,然后再从整体看全句,以免妨碍理解。等到理解全句主干后,再将这些较长的修饰语加上就可以轻松完成了。后半句就是:“只通过等待在完成端口上排队的完成包来……”。所以全句可以译为:“线程只通过等待在完成端口上排队的完成包来实现等待对多个文件任何未完成的I/O操作到完成。”其实这些都离不开对I/O完成端口(I/O Completion Ports)机制的理解。provide...with...是“用...提供给...”,比如:They provide us with food.这一点hangwire在原译文中没有注意,虽然这和hangwire的精彩译文相比来说只是个小瑕疵而已。
..............................................................................

主题: 再帮帮忙
作者: 无语的风 (书童)
回复次数: 2+4
发表时间:2005-1-21 10:11:41 2005-1-21 13:26:41

原文:User applications don''t call Windows 2000 system services directly. Instead, they go through one or more subsystem DLLs. These libraries export the documented interface that the programs linked to that subsystem can call. For example, the Win32 subsystem DLLs (such as Kernel32.dll, Advapi32.dll, User32.dll, and Gdi32.dll) implement the Win32 API functions.
Subsystem DLLs (such as Kernel32.dll, Advapi32.dll, User32.dll, and Gdi32.dll) translate documented Win32 API functions into the appropriate undocumented kernel-mode system service calls to Ntoskrnl.exe and Win32k.sys.

译文:用户应用程序并不直接调用Windows2000的系统服务,而是通过一个或多个子系统DLL进行调用,这些库导出文档化(指API说明文档,如MSDN)的接口供链接到这些子系统上的应用程序调用。比如,Win32子系统DLL,如Kernel32.dll, Advapi32.dll, User32.dll, and Gdi32.dll,实现了(可供应用程序调用的)Win32 API函数。

子系统DLL(如Kernel32.dll、Advapi32.dll、User32.dll、和Gdi32.dll)将文档化Win32 API函数转换为相应未文档化的对Ntoskrnl.exe和Win32k.sys的内核态的系统服务调用。
 

辨析:其实这俩段并不难理解。documented、undocumented的意思分别是文档化(公开)和未文档化(未公开),个人认为对这两个单词在文中出现要予以足够重视,往往核心技术问题就出在这两个词上。

.............................................................................

主题:这里的“paged out”如何翻译
作者:无语的风 (书童)
回复次数: 2
发表时间: 2005-1-21 20:18:30

原文:The kernel is the only core component that cannot be preempted or paged out.

译文:内核(kernel)是唯一一个不能被抢占或者页换出的核心组件。

辨析:be paged out这里是“被页换出”,因为内存管理中分页调度的原因,所以会有page出现。绝大多数操作系统采用分页存储结构,操作系统的内核是绝对不能被页换出的。

..............................................................................


--------------------next---------------------

阅读(371) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~