您的浏览历史

UNIX环境高级编程

UNIX环境高级编程
促销活动
  • [本书]参加机械工业出版社华章公司满58元赠书活动

基本信息

内容简介回到顶部↑

本书全面介绍了UNIX系统的程序设计界面—系统调用界面和标准C库提供的许多函数。
本书的前15章着重于理论知识的阐述,主要内容包括UNIX文件和目录、进程环境、进程控制、进程间通信以及各种I/O。在此基础上,分别按章介绍了多个应用实例,包括如何创建数据库函数库,PostScript 打印机驱动程序,调制解调器拨号器及在伪终端上运行其他程序的程序等。
本书内容丰富权威,概念清晰精辟,一直以来被誉为UNIX编程的“圣经”,对于所有UNIX程序员—无论是初学者还是专家级人士—都是一本无价的参考书籍。

作译者回到顶部↑

作者: W.Richard Stevens
国际知名的Unix和网络专家,《TCP/IP 详解》(三卷本)作者   W.Richard Stevens(1951-1999),是国际知名的Unix和网络专家;受人尊敬的计算机图书作家;同时他还是广受欢迎的教师和顾问。Stevens先生1951年生于赞比亚,他的家庭曾多次搬迁,最终定居于南非。早年,他就读于美国弗吉尼亚州的费什本军事学校,后获得密歇根大学学士、亚利桑那大学系统工程硕士和博士学位。他曾就职于基特峰国家天文台,从事计算机编程;还曾在康涅狄格州纽黑文市的健康系统国际公司任主管计算机服务的副总裁。Stevens先生不.. << 查看详细

[同作者作品]
UNIX网络编程 第1卷:套接口API(第3版)
UNIX环境高级编程(英文影印版)(第2版)
UNIX环境高级编程(第2版) (08年度畅销榜TOP50)

目录回到顶部↑

目 录
译者序
译者简介
前言
第1章 UNIX基础知识 1
1.1 引言 1
1.2 登录 1
1.2.1 登录名 1
1.2.2 shell 1
1.3 文件和目录 2
1.3.1 文件系统 2
1.3.2 文件名 2
1.3.3 路径名 2
1.3.4 工作目录 4
1.3.5 起始目录 4
1.4 输入和输出 5
1.4.1 文件描述符 5
1.4.2 标准输入、标准输出和标准
出错 5
1.4.3 不用缓存的I/O 5
评论交流

共有100人开贴评论  185人参与评论  98人参与打分 查看

69人
 70%
用户平均打分
我要写评论 help如何参与评论和打分
14人
 14%
8人
 8%
5人
 5%
2人
 2%

zhrichard

专家级评论员
  
发表于:2009-12-28 15:26:00
太经典的教材了,只要用unix的应该人手一本的。
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)

chjfth

二级评论员
评价等级:  
发表于:2005-2-3 11:58:00
我近期对该书译文的纠正。

[2005-01-24] ch12.1 chs-p273 (★★★)
错译:非阻塞I/O使我们可以调用不会永远阻塞的I/O操作,例如 open,read和write。
原文:Nonblocking I/O lets us issue an I/O operation, such as an open, read, or write and not have it block forever.
正译:非阻塞I/O使我们可以调用 open,read和write 这些I/O 操作,并且这些操作不会永远阻塞。

[2005-01-24] ch12.3 chs-p285 中部,括号里面的话(★★)
错译:对O_TRUNC情况出错返回是有意义的,... 对O_CREAT情况在返回时也设置errno是无意义的...
原文:Generating the open error for O_TRUNC makes sense, ... Generating the error for O_CREAT, however, makes little sence.
纠正:“make sense”应翻译成“是有道理的”,表示说话人的主观评论,“make little sense”则是“没什么道理”。译者肯定之前不懂得这个词组。

[2005-01-24] ch12.4 chs-p288 (★★★★)
错译:任一个数的处理模块可以压入流。
原文:Any number of processing modules can be pushed onto a stream
正译:任意数量的处理模块可以压入流。
评论:高中生的英语水平都懂的翻译,你居然...

[2005-01-27] ch19.2.4 chs-p479 该节最后一段 (★★★★)
错译:另一种方法是 exec 该 pty 程序,将协同进程作为参数(见19.5节)。
原文:Another is to exec the pty program(Section 19.5) with the coprocess as its argument.
正译:另一种方法是将协同进程作为参数来调用 exec 19.5 节介绍的 pty 程序。
评论:真是典型的望文生义,“the”翻译为“该”,把括号中的内容挪到句尾!这个译者在译到 19.5 节时肯定看到了那个 pty 程序,他怎么就不会回头改一改呢?

[2005-01-28] ch19.3.1 chs-p482 该节倒数第三段 (★★★★)
错译:在 SVR4 系统中,如果调用者是一个还没有控制终端的对话期首进程,open 就会分配一个从设备作为控制终端。
原文:Under SVR4, if the caller is a session leader that does not already have a controlling terminal, this open allocates the pty slave as the controlling terminal.
纠正:“open 就会分配一个从设备作为控制终端”中的“一个”改为“这个”。
评论:在原文用“the”的情况下译者居然还翻译成“一个”,这让我很怀疑译者是否读懂了原文。

[2005-01-28] ch19.3.1 chs-p482 该节倒数第二段 (★★★)
错译:这是一个可选的模块,但是因为它自动尝试控制台登录和网络登录(见程序12-10的输出),我们将其加到从设备的流中。
原文:It's an optional module but since it's automatically pushed for console logins and network logins(see the output frome Program 12.10), we push it onto the slave's stream.
正译:这是一个可选的模块,但是因为在控制台登录与网络登录的情况下,这个模块会被(系统)自动压入,因此我们这边也将其压入从设备流中。

回复 ( 5条评论-- 点击查看讨论 )
您觉得呢? 送鲜花 (得7支)  扔鸡蛋 (得0个)

Resation
一级评论员
评价等级:  
发表于:2007-1-2 9:11:00
请问“互动出版网”的送货细节

  我曾在“卓越网”购书,它的送货上门服务交给邮政处理,因此会将物品封好。而邮递人员要求先付款再拆包,若商品有问题直接找发货商,邮政不负责。当我付了钱打开一看,呵呵,少了一张光盘。再联系“卓越网”,却没有得到任何答复。
  有了这样的教训,我现在再也不能接受那种“先付款再拆包”的方式,而希望在付款前能够认真地检查。不知“互动出版网”(China-Pub)是怎样的?我在广州,有哪位同在广州且在这里买过书的朋友能够回答我?多谢!
回复 ( 2条评论-- 点击查看讨论 )
您觉得呢? 送鲜花 (得2支)  扔鸡蛋 (得0个)

chjfth

二级评论员
评价等级:  
发表于:2005-2-3 12:03:00
我近期对该书译文的纠正。

[2005-01-28] ch9.4 chs-p184 (★★★)
错译:在大多数作业控制 shell 中,在 fork 之后调用此函数〔setpgid()〕,使父进程设置其子进程的进程组 ID,然后使子进程设置其自己的进程组 ID。这些调用中有一个是冗余的,但这样做可以保证父、子进程在进一步操作之前,子进程都进入了该进程组。
原文:In most job-control shells this function is called after a `fork' to have the parent set the process group ID of the child, and to have the child set its own process group ID. One of these calls is redundant, but by doing both we are guaranteed that the child is placed into its own process group before either process assumes that this has happened.
纠正(1):“然后使子进程设置其自己的进程组 ID”改为“并且使子进程设置其自己的进程组 ID”。(父子进程谁先做都可以)
纠正(2):“但这样做”改为“让父子进程都这么做”。
纠正(3):“子进程都进入了该进程组”改为“子进程已经进入了它自己的进程组”。
评论:“before either process assumes ...”这个地方翻译为“父、子进程进一步操作前”倒是个不错的翻译。

[2005-01-30] ch19.4 以及后续小节
第19章的翻译者多处将“session leader”翻译成“对话期管理者”,这和尤晋元在第9章所用的译法“对话期首进程”不一致。我今天认为用“会话期领导者”较好,但随着以后对这个概念的更深入了解,可能会提出更好的译法。

[2005-01-30] ch19.4 chs-p484 中偏下 (★★)
错译:如果该指针为空,系统将从设备的termios结构初始化为一个由具体应用定义的初始状态。
原文:If the pointer is null, the system initializes the slave's termios structure to an implementation-defined initial state.
正译:如果该指针为空,系统将把从设备的termios结构初始化为一个由具体实现定义的初始状态。
评论:把“实现”翻译成“应用”,难以想像!另外,“将”和“从”两个字间插入“把”有助于阅读者分清句子结构。

[2005-01-30] ch19.4 chs-p484 下部 (★★)
错译:(b)子进程创建一个新的进程组
原文:(b)a new process group is created for the child
正译:(b)系统为子进程创建一个新的进程组
评论:从这儿看出,译者译到这里时并没有回过头去理解 ch9.5 那节所讲的内容。

[2005-01-31] ch19.5 chs-p488 第一段 (★★★★)
错译:父进程在调用 exit 时执行原先设置的退出处理程序,它恢复原终端状态,将用户终端设置为初始模式(可选)。
原文:The parent optionally sets the user's terminal to raw mode setting an exit handler to reset the terminal state when `exit' is called.
正译:父进程选择性地将用户终端设置为原始模式,并且设置了退出处理程序,使得 exit 被调用时能够复位终端原先的模式。
评论:(1)将“raw mode”翻译成“初始模式”,不可饶恕。前面尤晋元已经将其翻译为“原始方式”,难道你王鲲不会去看看?“初始模式”还在后文中有出现:p490中。
(2)在句尾放一个“(可选)”,显得不伦不类。
(3)译者翻译得颠三倒四,我怀疑他没有认真读作者的 pty 程序代码。
(4)作者原文的“setting”改为“and set”应该更好。


回复 ( 6条评论-- 点击查看讨论 )
您觉得呢? 送鲜花 (得8支)  扔鸡蛋 (得0个)

georgji

二级评论员
评价等级:  
发表于:2006-11-16 15:22:00
该书转让。9成新 30元 qq:188819412
回复 ( 1条评论-- 点击查看讨论 )
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得1个)
我要写评论
查看所有评论交流(共100条)