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

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

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

本书是被誉为UNIX编程“圣经”的《Advanced Programming in the UNIX Environment》一书的第3版。

内容简介

在本书第2版出版后的8年中,UNIX行业发生了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持前一版风格的基础上,根据新的标准对内容进行了修订和增补,反映了新的技术发展。

书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了众多应用实例,包括如何创建数据库函数库以及如何与网络打印机通信等。此外,还在附录中给出了函数原型和部分习题的答案。

  

《UNIX环境高级编程(第3版)》概念清晰,阐述精辟,对于所有层次UNIX/Linux程序员都是一本不可或缺的参考书。

作者简介

作者理查德·史蒂文斯,国际知名的UNIX和网络专家,备受赞誉的技术作家。生前著有多部经典的传世之作,包括《UNIX网络编程》(两卷本)、《TCP/IP详解》(三卷本)和本书第1版。

章节目录

版权信息

内容提要

前言

第1版前言

第2版前言

译者序

第2版序

第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.3 UNIX系统实现

2.4 标准和实现的关系

2.5 限制

2.6 选项

2.7 功能测试宏

2.8 基本系统数据类型

2.9 标准之间的冲突

2.10 小结

习题

第3章 文件I/O

3.1 引言

3.2 文件描述符

3.3 函数open和openat

3.4 函数creat

3.5 函数close

3.6 函数lseek

3.7 函数read

3.8 函数write

3.9 I/O的效率

3.10 文件共享

3.11 原子操作

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、fstatat和lstat

4.3 文件类型

4.4 设置用户ID和设置组ID

4.5 文件访问权限

4.6 新文件和目录的所有权

4.7 函数access和faccessat

4.8 函数umask

4.9 函数chmod、fchmod和fchmodat

4.10 粘着位

4.11 函数chown、fchown、fchownat和lchown

4.12 文件长度

4.13 文件截断

4.14 文件系统

4.15 函数link、linkat、unlink、unlinkat和remove

4.16 函数rename和renameat

4.17 符号链接

4.18 创建和读取符号链接

4.19 文件的时间

4.20 函数futimens、utimensat和utimes

4.21 函数mkdir、mkdirat和rmdir

4.22 读目录

4.23 函数chdir、fchdir和getcwd

4.24 设备特殊文件

4.25 文件访问权限位小结

4.26 小结

习题

第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 内存流

5.15 标准I/O的替代软件

5.16 小结

习题

第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 进程时间

8.18 小结

习题

第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、nanosleep和clock_nanosleep

10.20 函数sigqueue

10.21 作业控制信号

10.22 信号名和编号

10.23 小结

习题

第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 I/O多路转接

14.5 异步I/O

14.6 函数readv和writev

14.7 函数readn和writen

14.8 存储映射I/O

14.9 小结

习题

第15章 进程间通信

15.1 引言

15.2 管道

15.3 函数popen和pclose

15.4 协同进程

15.5 FIFO

15.6 XSI IPC

15.7 消息队列

15.8 信号量

15.9 共享存储

15.10 POSIX信号量

15.11 客户进程-服务器进程属性

15.12 小结

习题

第16章 网络IPC:套接字

16.1 引言

16.2 套接字描述符

16.3 寻址

16.4 建立连接

16.5 数据传输

16.6 套接字选项

16.7 带外数据

16.8 非阻塞和异步I/O

16.9 小结

习题

第17章 高级进程间通信

17.1 引言

17.2 UNIX域套接字

17.3 唯一连接

17.4 传送文件描述符

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.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 超文本传输协议HTTP

21.4 打印假脱机技术

21.5 源代码

21.6 小结

习题

附录A 函数原型

附录B 其他源代码

附录C 部分习题答案

参考书目

UNIX环境高级编程(第3版)是2014年由人民邮电出版社出版,作者[美]W.RichardStevens。

得书感谢您对《UNIX环境高级编程(第3版)》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
Go语言趣学指南 电子书
Go是谷歌公司为了解决重大问题而设计的一种小型编程语言。完成大型项目需要大型团队,而大型团队中团队成员的经验水平往往各不相同。Go是一种小巧却功能强大的语言,它能够被任何人理解和使用,无论其经验如何。 快速、现代的编程语言能让业余爱好者、初学者和专业人员都受益。你需要的正是这样的语言。本书针对Go语言基础知识提供了实操性的指导,使你能够掌握Go语法,使用类型和函数,探索状态和并发等更重要的概念,并通过大量练习来巩固学到的知识。 本书包括以下内容: ●切片、接口、指针和并发等重要语言概念; ●地鼠太空航行、火星探测器、文本加密以及人类繁衍模拟等7个单元实验; ●无须安装即可在Go Playground中运行的示例。 本书面向所有熟悉计算机编程以及渴望获得这一技能的人。
SRv6网络编程:开启IP网络新时代 电子书
本书以IP网络发展过程中面临的挑战为切入点,详细介绍了SRv6技术的产生背景、设计思路与实现过程,以及SRv6在传统业务与新兴业务中的应用。以IP技术的发展历史开篇,重点阐述了MPLS和IPv6在网络发展过程中遇到的问题,帮助读者了解SRv6技术带来的变革以及承载的历史使命。详细阐述了SRv6网络编程的原理,包括SRv6的报文头设计与报文转发过程、IGP/BGP/PCEP等针对SRv6的协议扩展、
算法精粹:经典计算机科学问题的Python实现 电子书
深入浅出Spring Boot 2.x 电子书
本书章节编排合理,深入浅出地阐述了Spring Boot 2.x的原理与应用,以及当今较为流行的微服务系统经常用到的技术及原理,内容通俗易懂。
人民邮电出版社Shell编程 电子书
从基础到精通全面介绍Linux Shell编程 畅销不衰的Linux经典入门图书 适用于各种常见版本的Linux Shell Linux管理人员的参考手册 丰富典型的实操案例 全程录像的视频讲解光盘