UNIX环境高级编程(第2版)
9推荐 收藏
13.4K阅读
图灵计算机科学丛书

UNIX环境高级编程(第2版)

W.Richard Stevens , Stephen A.Rago (作者) 尤晋元 , 张亚英 , 戚正伟 (译者)
终止销售
本书是被誉为UNIX编程“圣经”的Advanced Programming in the UNIX Environment一书的更新版。在本书第1版出版后的十几年中,UNIX行业已经有了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持了前一版风格的基础上,根据最新的标准对内容进行了修订和增补,反映了最新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了多个应用示例,包括如何创建数据库函数库以及如何与网络打印机通信等。此外,还在附录中给出了函数原型和部分习题的答案。
本书内容权威,概念清晰,阐述精辟,对于所有层次UNIX程序员都是一本不可或缺的参考书。

全场电子书5折,仅限1024一天

祝各位程序员节日快乐!🍻

出版信息

  • 书  名UNIX环境高级编程(第2版)
  • 系列书名图灵计算机科学丛书
  • 执行编辑关于本书的内容有任何问题,请联系 傅志红
  • 出版日期2006-05-10
  • 书  号7-115-14731-0
  • 定  价99.00 元
  • 页  数780
  • 开  本16开
  • 出版状态终止销售
  • 原书名Advanced Programming in the UNIX Environment
  • 原书号0-201-43307-9

同系列书

本书特色

UNIX编程人员的圣经,历久弥新
Stevens名著新版,重新焕发青春
Dennis Ritchie作序推荐

目录

第1章 UNIX基础知识
1.1 引言
1.2 UNIX体系结构
1.3 登录
1.4 文件和目录
1.5 输入和输出
1.6 程序和进程
1.7 出错处理
1.8 用户标识
1.9 信号
1.10 时间值
1.11 系统调用和库函数
1.12 小结
习题
第2章 UNIX标准化及实现
2.1 引言
2.2 UNIX标准化
2.2.1 ISO C
2.2.2 IEEE POSIX
2.2.3 Single UNIX Specification
2.2.4 FIPS
2.3 UNIX系统实现
2.3.1 SVR4
2.3.2 4.4BSD
2.3.3 FreeBSD
2.3.4 Iinux
2.3.5 Mac OS X
2.3.6 Solaris
2.3.7 其他UNIX系统
2.4 标准和实现的关系
2.5 限制
2.5.1 ISO C限制
2.5.2 POSIX限制
2.5.3 XSI限制
2.5.4 sysconf、pathconf和fpathconf函数
2.5.5 未确定的运行时间限制
2.6 选项
2.7 功能测试宏
2.8 基本系统数据类型
2.9 标准之间的冲突
2.10 小结
习题
第3章 文件I/O
3.1 引言
3.2 文件描述符
3.3 open函数
3.4 creat函数
3.5 close函数
3.6 lseek函数
3.7 read函数
3.8 write函数
3.9 I/O的效率
3.10 文件共享
3.11 原子操作
3.11.1 添写至一个文件
3.11.2 pread和pwrite函数
3.11.3 创建一个文件
3.12 dup和dup2函数
3.13 sync、fsync和fdatasync函数
3.14 fcntl函数
3.15 ioctl函数
3.16 /dev/fd
3.17 小结
习题
目录
第4章 文件和目录
4.1 引言
4.2 stat、fstat和lstat函数
4.3 文件类型
4.4 设置用户ID和设置组ID
4.5 文件访问权限
4.6 新文件和目录的所有权
4.7 access函数
4.8 umask函数
4.9 chmod和fchmod函数
4.10 粘住位
4.11 chown、fchown和lchown函数
4.12 文件长度
4.13 文件截短
4.14 文件系统
4.15 link、unlink、remove和rename函数
4.16 符号链接
4.17 symlink和readlink函数
4.18 文件的时间
4.19 utime函数
4.20 mkdir和rmdir函数
4.21 读目录
4.22 chdir、fchdir 和getcwd 函数
4.23 设备特殊文件
4.24 文件访问权限位小结
4.25 小结
习题
第5章 标准I/O库
5.1 引言
5.2 流和FILE对象
5.3 标准输入、标准输出和标准出错
5.4 缓冲
5.5 打开流
5.6 读和写流
5.7 每次一行I/O
5.8 标准I/O的效率
5.9 二进制I/O
5.10 定位流
5.11 格式化I/O
5.12 实现细节
5.13 临时文件
5.14 标准I/O的替代软件
5.15 小结
习题
第6章 系统数据文件和信息
6.1 引言
6.2 口令文件
6.3 阴影口令
6.4 组文件
6.5 添加组ID
6.6 实现的区别
6.7 其他数据文件
6.8 登录账户记录
6.9 系统标识
6.10 时间和日期例程
6.11 小结
习题
第7章 进程环境
7.1 引言
7.2 main函数
7.3 进程终止
7.4 命令行参数
7.5 环境表
7.6 C程序的存储空间布局
7.7 共享库
7.8 存储器分配
7.9 环境变量
7.10 setjmp和longjmp函数
7.11 getrlimit和setrlimit函数
7.12 小结
习题
第8章 进程控制
8.1 引言
8.2 进程标识符
8.3 fork函数
8.4 vfork函数
8.5 exit函数
8.6 wait和waitpid函数
8.7 waitid函数
8.8 wait3和wait4函数
8.9 竞争条件
8.10 exec函数
8.11 更改用户ID和组ID
8.12 解释器文件
8.13 system函数
8.14 进程会计
8.15 用户标识
8.16 进程时间
8.17 小结
习题
第9章 进程关系
9.1 引言
9.2 终端登录
9.3 网络登录
9.4 进程组
9.5 会话
9.6 控制终端
9.7 tcgetpgrp、tcsetpgrp和tcgetsid
函数
9.8 作业控制
9.9 shell执行程序
9.10 孤儿进程组
9.11 FreeBSD实现
9.12 小结
习题
第10章 信号
10.1 引言
10.2 信号概念
10.3 signal函数
10.4 不可靠的信号
10.5 中断的系统调用
10.6 可重入函数
10.7 SIGCLD语义
10.8 可靠信号术语和语义
10.9 kill和raise函数
10.10 alarm和pause函数
10.11 信号集
10.12 sigprocmask函数
10.13 sigpending函数
10.14 sigaction函数
10.15 sigsetjmp和siglongjmp函数
10.16 sigsuspend函数
10.17 abort函数
10.18 system函数
10.19 sleep函数
10.20 作业控制信号
10.21 其他特征
10.22 小结
习题
第11章 线程
11.1 引言
11.2 线程概念
11.3 线程标识
11.4 线程创建
11.5 线程终止
11.6 线程同步
11.7 小结
习题
第12章 线程控制
12.1 引言
12.2 线程限制
12.3 线程属性
12.4 同步属性
12.5 重入
12.6 线程私有数据
12.7 撤销选项
12.8 线程和信号
12.9 线程和fork
12.10 线程和I/O
12.11 小结
习题
第13章 守护进程
13.1 引言
13.2 守护进程的特征
13.3 编程规则
13.4 出错记录
13.5 单实例守护进程
13.6 守护进程的惯例
13.7 客户进程-服务器进程模型
13.8 小结
习题
第14章 高级I/O
14.1 引言
14.2 非阻塞I/O
14.3 记录锁
14.4 STREAMS
14.5 I/O多路转接
14.5.1 select和pselect函数
14.5.2 poll函数
14.6 异步I/O
14.6.1 系统V异步I/O
14.6.2 BSD异步I/O
14.7 readv和writev函数
14.8 readn和writen函数
14.9 存储映射I/O
14.10 小结
习题
第15章 进程间通信
15.1 引言
15.2 管道
15.3 popen和pclose函数
15.4 协同进程
15.5 FIFO
15.6 XSI IPC
15.6.1 标识符和关键字
15.6.2 权限结构
15.6.3 结构限制
15.6.4 优点和缺点
15.7 消息队列
15.8 信号量
15.9 共享存储
15.10 客户进程-服务器进程属性
15.11 小结
习题
第16章 网络IPC:套接字
16.1 引言
16.2 套接字描述符
16.3 寻址
16.3.1 字节序
16.3.2 地址格式
16.3.3 地址查询
16.3.4 将套接字与地址绑定
16.4 建立连接
16.5 数据传输
16.6 套接字选项
16.7 带外数据
16.8 非阻塞和异步I/O
16.9 小结
习题
第17章 高级进程间通信
17.1 引言
17.2 基于STREAMS的管道
17.2.1 命名的STREAMS管道
17.2.2 唯一连接
17.3 UNIX域套接字
17.3.1 命名UNIX域套接字
17.3.2 唯一连接
17.4 传送文件描述符
17.4.1 经由基于STREAMS的管道传送文件描述符
17.4.2 经由UNIX域套接字传送文件描述符
17.5 open服务器版本1
17.6 open服务器版本2
17.7 小结
习题
第18章 终端I/O
18.1 引言
18.2 综述
18.3 特殊输入字符
18.4 获得和设置终端属性
18.5 终端选项标志
18.6 stty命令
18.7 波特率函数
18.8 行控制函数
18.9 终端标识
18.10 规范模式
18.11 非规范模式
18.12 终端的窗口大小
18.13 termcap,terminfo和curses
18.14 小结
习题
第19章 伪终端
19.1 引言
19.2 概述
19.3 打开伪终端设备
19.3.1 基于STREAMS的伪终端
19.3.2 基于BSD的伪终端
19.3.3 基于Linux的伪终端
19.4 pty_fork函数
19.5 pty程序
19.6 使用pty程序
19.7 高级特性
19.8 小结
习题
第20章 数据库函数库
20.1 引言
20.2 历史
20.3 函数库
20.4 实现概述
20.5 集中式或非集中式
20.6 并发
20.7 构造函数库
20.8 源代码
20.9 性能
20.10 小结
习题
第21章 与网络打印机通信
21.1 引言
21.2 网络打印协议
21.3 超文本传输协议
21.4 打印假脱机技术
21.5 源代码
21.6 小结
附录A
附录B
附录C
参考书目
索引

相关文章

  • 武卫东 9推荐

    怀念Dennis Ritchie

    Unix和C语言的发明人Dennis Ritchie前几天去世了,引起人们无限痛惜。这是继Jobs去世后,计算机界失去的又一英才。Jobs已经成为一个公众人物,而Ritchie则始终是程序员们自己爱戴的黑客人物。圈内人士公认,Ritchie对于计算机行业及技术的贡献作用更为重大…...

  • 武卫东 10推荐

    Dennis Ritchie自述

    本文是贝尔实验室Ritchie网页上的自述简历。英文原文 Dennis M. Ritchie是朗讯公司贝尔实验室的融合技术、软件和计算机科学实验室的研究人员,公司位于新泽西州莫雷山(Murray Hill)。此前,他在计算机科学研究中心工作(该中心现已解散),任系统科学研究部…...

  • veldts 9推荐

    一张有趣的老照片 by Dennis Ritchie

    原文地址。 一张老照片,上面有Ken、我和几台PDP-11。取自公司档案室,附带一些照片判读。 - Dennis 这张宣传照大概拍摄于1972年,展示的是Ken和我在PDP-11前工作的场景。 自右向左,设备主要组成如下: 最右边的桌子上,有人认出是一台VT… ...

  • 武卫东 7推荐

    华盛顿来信——国家技术奖获奖亲历 by Dennis Ritchie

    本文译自贝尔实验室Dennis Ritchie网站。原文链接 简 介 1999年4月26日到27日,Ken Thompson、我和其他获得1998年国家技术奖的人,连同那些摘取国家科学奖的人一道,参加了在白宫举办的最终庆典活动。这对我们个人和贝尔实验室来说,都是崇高的荣誉,…...

  • veldts 8推荐

    Unix广告拾遗 by Dennis Ritchie

    原文[地址][1]。 Bob Bowles发现并扫描了一张[1981年的Unix广告][2]。现在看来,可能没什么大不了。我也翻出一张,还有Vincent Guyot提供了一张Xenix广告。 - Dennis MediaOne的Bob Bowles扫描了一张1981年…...

  • 李松峰 2推荐

    Rich Stevens答读者问(2-2)

    目录 在写这些书的时候你是通过哪些方式来学习的? 你会回复读者的邮件吗? 我也想写一本书。我该从何做起呢? 能谈一谈UNIX Network Programming是怎么出版的吗? 你并没有使用troff写书,是吗? 你使用哪种Unix系统? 你喜欢哪些技术书? 你名字中…...

  • 何逸勤 7推荐

    丹尼斯•里奇日(Dennis Ritchie Day)——让我们在2011年10月30日追思这位业界先驱by Tim O’Reilly

    本文是Tim O'Reilly在2011年10月26日发表的,倡导2011年10月30日为“丹尼斯•里奇日”。译自O'Reilly Rader。 前一个星期天,即10月16日,由加州州长布朗先生宣布为“乔布斯日”。对布朗先生这一表彰乔布斯的杰出贡献的举措,我深表敬佩。… ...

  • lt 3推荐

    Advanced Programming in the UNIX Environment, 3rd Edition出版

    http://www.informit.com/store/advanced-programming-in-the-unix-environment-9780321637734 提供了第11章thread试读 http://www.informit.com/content/…...

  • Liszt 5推荐

    UNIX系统编程的瑞士军刀 --《UNIX环境高级编程》书评

    这本书UNIX时候经常提到的,大名鼎鼎的APUE。在UNIX下编程同学,如果没看过此书,就好比是科幻迷没看过星球大战。这本书的作者,W.Richard Stevens可以说是UNIX和网络的权威人士,他所著的《TCP IP详解》被无数论文引用。 把这本书比喻成瑞士军刀有几个原…...

  • 黄志斌 11推荐

    有趣的翻译

    《UNIX编程艺术》这本书是 2006 年 2 月出版的,当年 4 月我在第二书店(曾经的中国最专业计算机图书网上专营店)购买了一本,近期重读了一遍。 Let u… ...

  • duxingzhe 1推荐

    2017年的进步与展望——一年的收获

    专业 看完了算法的基础部分,和算法导论的第二部分,还是蛮有收获的。 主要是以下收获: 算法无处不在,他是指导计算机解决问题的一系列语言指令。同时,人们总是在不断地追求更为高效快捷的算法。NP=P的问题一直困扰着科学家们。在此之前,人工智能比如AlphaGo的算法让我们看到…...

  • duxingzhe 2推荐

    Unix环境高级编程——开源的标准化努力

    Unix和Linux被很多人认为是同一个系统。通过这半年多来的阅读,我逐步体会到,Linux是一个对Unix标准的实现,而Unix只是一个抽象概念,他并不是一个真正实际的系统,他是一个标准和概念。正如开发Linux第一个版本的著名程序员Linus Benedict Torval…...

  • 年前因为工作原因,托国外同事从US寄给我一本第二版英文原版的。到手后第一感觉,很厚很厚,比第一版(中文版)厚多了。究其原因,一是同样内容的书籍英文版的本身就会比中文版厚些,二是第二版中又新加了不少东西,比如说第一版中只字不提的线程。后来断断续续地利用工作和业余时间把APUE 2nd看了一遍,感觉比第一版的确丰富了不少。修正了不少第一版中错误的过时的观点。但是个人觉得对于线程那块讲得还不够深入。缺少了一些线程模型的介绍和比较。比如linuxthreads和NPTL的比较。缺少了对线程调度的介绍。总得来说暇不掩瑜,是本非常不错的书。和我一样以前读过第一版的朋友,是时候跟着APUE 2nd,系统地更新一下自己的知识了。(摘自china-pub)
    cxs  发表于 2006-06-28 14:21:28
    推荐
  • 计算机专业大三学生,正在学Linux。这本书网上的评价很高,近来网购了一本,大概翻了一下,书本给出了很多代码实例,感觉看完后,收获应该很大。
    蓝色枫叶  发表于 2012-07-08 11:03:29
    推荐
  • 2.3.4 Iinux

    这个目录写错了吧?
    guofengcn  发表于 2013-05-12 09:25:41
    推荐
  • 哎,这书不出电子版真是没有人性啊,实体书我有,但是...太重了,真的太重了
    舒克贝塔  发表于 2013-09-30 13:59:22
    推荐
  • 如果图灵社区能够出电子版就太好了。。。
    蚂蚁  发表于 2013-10-26 22:14:14
    推荐
  • 第三版去年五月出了,图灵什么时候出中文版啊
    skctvc15  发表于 2014-03-10 14:43:21
    推荐
    • 人民邮电出版社出版第三版中文版了,但不是图灵公司出版的。

      黄志斌  发表于 2017-10-14 11:22:58
  • 出电子书啊????????????????
    shengqing  发表于 2014-04-18 14:12:55
    推荐