UNIX环境高级编程

UNIX环境高级编程
作 者: Richard
出版社: 人民邮电出版社
丛编项: 图灵计算机科学丛书
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: UNIX
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

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

内容简介

内容提要本书是被誉为UNIX编程"圣经"的Advanced Programming in the UNIX Environment一书的更新版。在本书第1版出版后的十几年中,UNIX行业已经有了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持了前一版的风格的基础上,根据最新的标准对内容进行了修订和增补,反映了最新的技术发展。书中除了介绍UNIX文件和、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了多个应用示例,包括如何创建数据库函数库以及如何与网络打印机通信等。此外,还在附录中给出了函数原型和部分习题的答案。本书内容权威,概念清晰,阐述精辟,对于所有层次UNIX程序员都是一本不可或缺的参考书。 目 录第1章 UNIX基础知识 11.1 引言 11.2 UNIX体系结构 11.3 登录 11.4 文件和 31.5 输入和输出 61.6 程序和进程 81.7 出错处理 101.8 用户标识 121.9 信号 141.10 时间值 151.11 系统调用和库函数 161.12 小结 17习题 18第2章 UNIX标准化及实现 192.1 引言 192.2 UNIX标准化 192.2.1 ISO C 192.2.2 IEEE POSIX 202.2.3 Single UNIX Specification 252.2.4 FIPS 262.3 UNIX系统实现 262.3.1 SVR4 262.3.2 4.4BSD 272.3.3 FreeBSD 272.3.4 Linux 272.3.5 Mac OS X 282.3.6 Solaris 282.3.7 其他UNIX系统 282.4 标准和实现的关系 282.5 限制 292.5.1 ISO C限制 292.5.2 POSIX限制 302.5.3 XSI限制 322.5.4 sysconf、pathconf和fpathconf函数 322.5.5 不确定的运行时限制 382.6 选项 422.7 功能测试宏 442.8 基本系统数据类型 452.9 标准之间的冲突 452.10 小结 46习题 46第3章 文件I/O 473.1 引言 473.2 文件描述符 473.3 open函数 483.4 creat函数 493.5...

图书目录

第1章UNIX基础知识

1.1引言

1.2 UNIX体系结构

1.3登录

1.4文件和目录

1.5输入和输出

1.6程序和进程

1.7出错处理

1.8用户标识

1.9信号

1.10时间值

1.1l系统调用和库函数

1.12小结

习题

第2章UNIX标准化及实现

2.1引言

2.2 UNIX标准化

2.2 1 ISO C

2.2.2 IEEEPOSIX

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 Linux

2.3.5 Mac OS X

2.3.6 Solaris

2.3.7其他UNIX系统

2.4标准和实现的关系

2.5限制

2.5.1 ISOC限制

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 iseek函数

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 star、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和ichown函数

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格式化IIO

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 set3mp和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 sigsetjrap和siglongjmp函数

10.16 sigsuspend函数

10.17 abort函数

10.18 system函数

10.19 sleep函数

10.20作业控制信号

10.21其他特征

10.22小结

习题

第1l章线程

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/0

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非阻塞UO

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 termcaD.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部分习题答案

参考书目

索引