【内容简介】
本书是被誉为UNIX编程“圣经”的Advanced Programming in the UNIX Environment一书的更新版。在本书第1版出版后的十几年中,UNIX行业已经有了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持了前一版的风格的基础上,根据最新的标准对内容进行了修订和增补,反映了最新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了多个应用示例,包括如何创建数据库函数库以及如何与网络打印机通信等。此外,还在附录中给出了函数原型和部分习题的答案。
本书内容权威,概念清晰,阐述精辟,对于所有层次UNIX程序员都是一本不可或缺的参考书。
十多年来,无数C程序员都依靠一本书深入了解了驱动UNIX和Linux内核的编程接口的实用知识,这本书就是已故的W. Richard Stevens所著的《UNIX环境高级编程》。十多年后,UNIX技术和产品已经有了巨大变化,本书的更新可以说是成为众望所归。现在,Stevens的同事Stephen Rago彻底更新了这本经典著作,以反映最新的技术进展,并加入了对现今几种主流UNIX和Linux平台的支持。
Rago小心保留了使本书前版成为经典的精髓和方法。在Stevens原著的基础之上,新版增加了大量的新内容,包括讨论线程和多线程编程、使用套接字接口驱动进程间通信(IPC)的新章节,还广泛讨论了最新版的POSIX.1标准中新增的接口。几乎所有示例都已经在目前4个最主流的UNIX/Linux平台上测试过,包括FreeBSD 5.2.1、Linux 2.4.22内核、Solaris 9和Darwin 7.4.0(Apple MAC OS X 10.3的开源核心)。
与第1版一样,读者仍然可以通过示例进行学习,这些示例包括了1万多行可下载的ANSI C源代码。书中通过简明但是完整的程序阐述了400多个系统调用和函数,清楚地说明它们的用法、参数和返回值。为了使读者能融会贯通,书中还提供了几个贯穿整章的案例研究,每一个案例都根据现代的技术环境进行了全面更新。
【编辑推荐】
“总之,作为更新版本,本书不负众望,无愧于经典原作。”
--Dennis Ritchie,图灵奖得主, Unix操作系统和C语言之父
“对任何一个真正的专业UNIX系统程序员而言,本书都是不可或缺的参考书。Rago更新和扩展了Stevens的经典著作,并保持了原书的风貌。”
--Andrew Josey, POSIX 1003.1标准工作组主席
十多年来,无数C程序员都依靠一本书深入了解了驱动UNIX和Linux内核的编程接口的实用知识,这本书就是已故的W. Richard Stevens所著的《UNIX环境高级编程》。十多年后,UNIX技术和产品已经有了巨大变化,本书的更新可以说是成为众望所归。现在,Stevens的同事Stephen Rago彻底更新了这本经典著作,以反映最新的技术进展,并加入了对现今几种主流UNIX和Linux平台的支持。
Rago保留了使本书前版成为经典的精髓和方法。在Stevens原著的基础之上,新版增加了大量的新内容,包括讨论线程和多线程编程、使用套接字接口驱动进程间通信(IPC)的新章节,还广泛讨论了最新版的POSIX.1标准中新增的接口。几乎所有示例都已经在目前4个最主流的UNIX/Linux平台上测试过,包括FreeBSD 5.2.1、Linux 2.4.22内核、Solaris 9和Darwin 7.4.0(Apple MAC OS X 10.3的开源核心)。
与第1版一样,读者仍然可以通过示例进行学习,这些示例包括了1万多行可下载的ANSI C源代码。书中通过简明但是完整的程序阐述了400多个系统调用和函数,清楚地说明它们的用法、参数和返回值。为了使读者能融会贯通,书中还提供了几个贯穿整章的案例研究,每一个案例都根据现代的技术环境进行了全面更新。
【作译者介绍】
本书提供作译者介绍
W. Richard Stevens备受赞誉的已故技术作家,生前著有多种经典的传世之作,包括《UNIX网络编程》(两卷本)、《TCP/IP详解》(三卷本)和本书第1版。
Stephen A. Rago 资深UNIX程序员,是当年贝尔实验室的UNIX系统V版本4的开发人员之一。著有《UNIX系统V网络编程》,并曾担任本书第1版的技术审校。他目前是EMC公司的管理人员,专门从事文件服务器和文件系统方向的研究。
.. << 查看详细
【目录信息】
Chapter 1. UNIX System Overview
1.1 Introduction.
1.2 UNIX Architecture
1.3 Logging In
1.4 Files and Directories
1.5 Input and Output
1.6 Programs and Processes
1.7 Error Handling
1.8 User Identification
1.9 Signals
1.10 Time Values
1.11 System Calls and Library Functions
1.12 Summary
Chapter 2. UNIX Standardization and Implementations
2.1 Introduction
2.2 UNIX Standardization
2.2.1 ISO C
2.2.2 IEEE POSIX
<< 查看详细目录
【前言】
我与Rich Stevens最早是通过电子邮件开始交往的,当时我发邮件报告他的第一本书《UNIX网络编程》的一个排版错误。他回信开玩笑说我是第一个给他发这本书勘误的人。到他1999年故去之前,我们时不时地会通些邮件,一般都是在有了问题认为对方能解答的时候。我们在USENIX会议期间多次相见,并共进晚餐,Rich在会议中给大家做技术培训。.
Rich Stevens真是个益友,行为举止很有绅士风度。我在1993年写《UNIX系统V网络编程》时,试图把书写成他的《UNIX网络编程》的系统V版。Rich发自内心地高兴地为我审阅了好几章,并不把我当成竞争对手,而是当作一起写书的同事。我们曾多次谈到要合作给他的《TCP/IP详解》写个STRE..
<< 查看前言
【序言】
我差不多每次在接受专访当中,或是做技术讲座后的提问时间里,总会被问及这样一个问题:“你想到过UNIX会生存这么长时间吗?”自然,每次的回答都是:没有,我们没想到会是这样。从某种角度说,UNIX系统已经伴随了商用计算行业历史的大半,而这也早就不是什么新闻了。
发展的历程错综复杂,充满变数。自20世纪70年代初以来,计算机技术经历了沧海桑田般的变化,尤其体现在网络技术的普遍应用、图形化的无所不在、个人计算的触手可及,然而UNIX系统却奇迹般地容纳和适应了所有这些变化。虽然商业应用环境在桌面领域目前仍然为微软和英特尔所统治,但是在某些方面已经从单一供应商向多种来源转变,近年来对公共标..
<< 查看序言