1、前言引言我与Rich Stevens最早是通过电子邮件开始交往的,当时我发邮件报告他的第一本书UNIX网络编程的一个排版错误。他回信开玩笑说我是第一个给他发这本书勘误的人。到他1999年故去之前,我们时不时地会通些邮件,一般都是在有了问题认为对方能解答的时候。我们在USENIX会议期间多次相见,并共进晚餐,Rich在会议中给大家做技术培训。Rich Stevens:真是个益友,行为举止很有绅士风度。我在1993年写UNIX系统V网络编程时,试图把书写成他的UNIX网络编程的系统V版。Rich发自内心地高兴地为我审阅了好几章,并不把我当成竞争对手,而是当作一起写书的同事。我们曾多次谈到要合作给他
2、的TCP/IP详解写个STREAMS版。天若有情,我们或许已经完成了这个心愿。然而,Rich已经驾鹤西去,修订UNX环境高级编程就成为我跟他一起写书的最易实现的方式。当Addison-Wesley:公司的编辑找到我说想修订Rich的这本书时,我第一反应是这本书没有多少要改的。尽管13年过去了,Rich的书还是巍然屹立。但是,与当初本书出版的时候相比,今日的UNIX行业已经有了巨大的变化。系统V的各个变种渐渐被Liux所取代。原来生产硬件配以各自的UNIX版本的几个主要厂商,要么提供了Linux的移植版本,要么宣布支持Linux。Solaris可能算是硕果仅存的占有一定市场份额的UNIX系统V版
3、本4的后裔了。加州大学伯克利分校的CSRG(计算机科学研究组)在发布了4.4BSD之后,已经决定不再开发UNIX操作系统,只有几个志愿者小组还维护着一些可公开获得的版本。Liux受到数以千计的志愿者的支持,它的引入使任何一个拥有计算机的人都能运行类似于UNX系统的操作系统,并且可以免费获得源代码支持哪怕最新的硬件设备。在已经存在几种免费BSD版本的情况下,Linux的成功确实是个奇迹。苹果公司作为一个富有创新精神的公司,已经放弃了老的Mc操作系统,换之以一个在Machi和FreeBSD基础上开发的新系统。因此,我已经努力更新本书中的内容,以反映这四种平台。在Rich1992年出版UNIX环境高级编程之后,我扔掉了手头几乎所有的UNIX程序员手册。这些年来,我桌上最常摆放的就是两本书,一本是字典,另一本就是UNX环境高级编程。我希望读者也能认为本修订版一样有用。对第1版的改动Rich的书依然屹立,我试图不去改动他这本书原来的风格。但是13年间世事兴衰,尤其是影响UNIX编程接口的有关标准变化很大。