UNIX环境高级编程第3版

UNIX环境高级编程第3版
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: , [美] , , , , , ,
2019-10
版次: 1
ISBN: 9787115516756
定价: 169.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 812页
179人买过
  • 本书是被誉为UNIX编程“圣经”的Advanced Programming in the UNIX Environment一书的第3版。在本书第2版出版后的8年中,UNIX发生了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持前一版风格的基础上,根据新的标准对内容进行了修订和增补,反映了新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了众多应用实例,包括如何创建数据库函数库以及如何与网络打印机通信等。此外,还在附录中给出了函数原型和部分习题的答案。

    本书内容**,概念清晰,阐述精辟,对于所有层次UNIX/Linux程序员都是一本不可或缺的参考书。 作者简介
    W. 理查德.史蒂文斯(W. Richard Stevens)国际知名的UNIX和网络专家,备受赞誉的技术作家。生前著有多部经典的传世之作,包括《UNIX网络编程》(两卷本)、《TCP/IP详解》(三卷本)和本书第1版。
    史蒂芬.A. 拉戈(Stephen A. Rago)资深UNIX程序员,目前任NEC美国实验室存储系统研究组研究员。之前是贝尔实验室的UNIX系统V版本4的开发人员之一。著有《UNIX系统V网络编程》,是本书第1版的技术审校和第2版的共同作者。
    译者简介
    戚正伟 博士,上海交通大学软件学院教授、博士生导师,CCF高级会员,CCF系统软件、理论计算机专委会委员,微软亚洲研究院和美国卡内基梅隆大学(CMU)访问学者。主要研究方向为系统软件和程序分析等,除翻译本书外,还著有《NewBluePill:深入理解硬件虚拟机》等。
    张亚英 博士,同济大学电子与信息工程学院计算机系教授,研究方向为网络与分布式系统、大数据挖掘与分析等。
    尤晋元 上海交通大学计算机科学及工程系教授、博士生导师。在科研方面,主要从事操作系统和分布对象计算技术方面的研究。在教学方面,长期承担操作系统及分布计算等课程的教学工作。主编和翻译了多本操作系统教材和参考书,包括《UNIX操作系统教程》《UNIX高级编程技术》《UNIX环境高级编程》和《操作系统:设计与实现》等。 第 1章 UNIX基础知识 1 

    1.1 引言 1

    1.2 UNIX体系结构 1

    1.3 登录 1

    1.4 文件和目录 3

    1.5 输入和输出 6

    1.6 程序和进程 8

    1.7 出错处理 11

    1.8 用户标识 13

    1.9 信号 14

    1.10 时间值 16

    1.11 系统调用和库函数 17

    1.12 小结 18

    习题 18

    第 2章 UNIX标准及实现 20

    2.1 引言 20

    2.2 UNIX标准化 20

    2.2.1 ISO C 20

    2.2.2 IEEE POSIX 21

    2.2.3 Single UNIX Specification 25

    2.2.4 FIPS 26

    2.3 UNIX系统实现 26

    2.3.1 SVR4 27

    2.3.2 4.4BSD 27

    2.3.3 FreeBSD 28

    2.3.4 Linux 28

    2.3.5 Mac OS X 28

    2.3.6 Solaris 28

    2.3.7 其他UNIX系统 29

    2.4 标准和实现的关系 29

    2.5 限制 29

    2.5.1 ISO C限制 30

    2.5.2 POSIX限制 31

    2.5.3 XSI限制 33

    2.5.4 函数sysconf、pathconf和fpathconf 33

    2.5.5 不确定的运行时限制 40

    2.6 选项 43

    2.7 功能测试宏 46

    2.8 基本系统数据类型 47

    2.9 标准之间的冲突 48

    2.10 小结 48

    习题 48

    第3章 文件I/O 49

    3.1 引言 49

    3.2 文件描述符 49

    3.3 函数open和openat 50

    3.4 函数creat 52

    3.5 函数close 53

    3.6 函数lseek 53

    3.7 函数read 57

    3.8 函数write 57

    3.9 I/O的效率 58

    3.10 文件共享 59

    3.11 原子操作 62

    3.12 函数dup和dup2 63

    3.13 函数sync、fsync和fdatasync 65

    3.14 函数fcntl 65

    3.15 函数ioctl 70

    3.16 /dev/fd 71

    3.17 小结 72

    习题 72

    第4章 文件和目录 74

    4.1 引言 74

    4.2 函数stat、fstat、fstatat和lstat 74

    4.3 文件类型 75

    4.4 设置用户ID和设置组ID 78

    4.5 文件访问权限 79

    4.6 新文件和目录的所有权 80

    4.7 函数access和faccessat 81

    4.8 函数umask 83

    4.9 函数chmod、fchmod和fchmodat 84

    4.10 粘着位 87

    4.11 函数chown、fchown、fchownat和lchown 88

    4.12 文件长度 89

    4.13 文件截断 90

    4.14 文件系统 90

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

    4.16 函数rename和renameat 95

    4.17 符号链接 96

    4.18 创建和读取符号链接 99

    4.19 文件的时间 99

    4.20 函数futimens、utimensat和utimes 101

    4.21 函数mkdir、mkdirat和rmdir 103

    4.22 读目录 104

    4.23 函数chdir、fchdir和getcwd 108

    4.24 设备特殊文件 110

    4.25 文件访问权限位小结 112

    4.26 小结 113

    习题 113

    第5章 标准I/O库 115

    5.1 引言 115

    5.2 流和FILE对象 115

    5.3 标准输入、标准输出和标准错误 116

    5.4 缓冲 116

    5.5 打开流 118

    5.6 读和写流 120

    5.7 每次一行I/O 122

    5.8 标准I/O的效率 123

    5.9 二进制I/O 125

    5.10 定位流 126

    5.11 格式化I/O 127

    5.12 实现细节 131

    5.13 临时文件 134

    5.14 内存流 137

    5.15 标准I/O的替代软件 140

    5.16 小结 140

    习题 140

    第6章 系统数据文件和信息 142

    6.1 引言 142

    6.2 口令文件 142

    6.3 阴影口令 145

    6.4 组文件 146

    6.5 附属组ID 147

    6.6 实现区别 148

    6.7 其他数据文件 148

    6.8 登录账户记录 149

    6.9 系统标识 150

    6.10 时间和日期例程 151

    6.11 小结 157

    习题 157

    第7章 进程环境 158

    7.1 引言 158

    7.2 main函数 158

    7.3 进程终止 158

    7.4 命令行参数 162

    7.5 环境表 163

    7.6 C程序的存储空间布局 163

    7.7 共享库 165

    7.8 存储空间分配 165

    7.9 环境变量 168

    7.10 函数setjmp和longjmp 170

    7.11 函数getrlimit和setrlimit 175

    7.12 小结 180

    习题 180

    第8章 进程控制 181

    8.1 引言 181

    8.2 进程标识 181

    8.3 函数fork 182

    8.4 函数vfork 187

    8.5 函数exit 188

    8.6 函数wait和waitpid 190

    8.7 函数waitid 194

    8.8 函数wait3和wait4 195

    8.9 竞争条件 196

    8.10 函数exec 199

    8.11 更改用户ID和更改组ID 204

    8.12 解释器文件 207

    8.13 函数system 211

    8.14 进程会计 215

    8.15 用户标识 220

    8.16 进程调度 221

    8.17 进程时间 224

    8.18 小结 226

    习题 226

    第9章 进程关系 228

    9.1 引言 228

    9.2 终端登录 228

    9.3 网络登录 231

    9.4 进程组 233

    9.5 会话 234

    9.6 控制终端 235

    9.7 函数tcgetpgrp、tcsetpgrp和tcgetsid 237

    9.8 作业控制 237

    9.9 shell执行程序 240

    9.10 孤儿进程组 244

    9.11 FreeBSD实现 246

    9.12 小结 248

    习题 248

    第 10章 信号 249

    10.1 引言 249

    10.2 信号概念 249

    10.3 函数signal 256

    10.4 不可靠的信号 259

    10.5 中断的系统调用 260

    10.6 可重入函数 262

    10.7 SIGCLD语义 264

    10.8 可靠信号术语和语义 266

    10.9 函数kill和raise 267

    10.10 函数alarm和pause 268

    10.11 信号集 273

    10.12 函数sigprocmask 275

    10.13 函数sigpending 276

    10.14 函数sigaction 278

    10.15 函数sigsetjmp和siglongjmp 283

    10.16 函数sigsuspend 286

    10.17 函数abort 291

    10.18 函数system 293

    10.19 函数sleep、nanosleep和clock_nanosleep 298

    10.20 函数sigqueue 300

    10.21 作业控制信号 301

    10.22 信号名和编号 303

    10.23 小结 305

    习题 305

    第 11章 线程 307

    11.1 引言 307

    11.2 线程概念 307

    11.3 线程标识 308

    11.4 线程创建 309

    11.5 线程终止 311

    11.6 线程同步 318

    11.6.1 互斥量 320

    11.6.2 避免死锁 322

    11.6.3 函数pthread_mutex_ timedlock 327

    11.6.4 读写锁 328

    11.6.5 带有超时的读写锁 332

    11.6.6 条件变量 332

    11.6.7 自旋锁 335

    11.6.8 屏障 336

    11.7 小结 340

    习题 340

    第 12章 线程控制 341

    12.1 引言 341

    12.2 线程限制 341

    12.3 线程属性 342

    12.4 同步属性 345

    12.4.1 互斥量属性 345

    12.4.2 读写锁属性 352

    12.4.3 条件变量属性 353

    12.4.4 屏障属性 354

    12.5 重入 354

    12.6 线程特定数据 358

    12.7 取消选项 362

    12.8 线程和信号 364

    12.9 线程和fork 367

    12.10 线程和I/O 370

    12.11 小结 371

    习题 371

    第 13章 守护进程 372

    13.1 引言 372

    13.2 守护进程的特征 372

    13.3 编程规则 374

    13.4 出错记录 377

    13.5 单实例守护进程 380

    13.6 守护进程的惯例 381

    13.7 客户进程-服务器进程模型 386

    13.8 小结 386

    习题 387

    第 14章 高级I/O 388

    14.1 引言 388

    14.2 非阻塞I/O 388

    14.3 记录锁 391

    14.4 I/O多路转接 403

    14.4.1 函数select和pselect 404

    14.4.2 函数poll 408

    14.5 异步I/O 410

    14.5.1 System V异步I/O 410

    14.5.2 BSD异步I/O 411

    14.5.3 POSIX异步I/O 411

    14.6 函数readv和writev 419

    14.7 函数readn和writen 421

    14.8 存储映射I/O 422

    14.9 小结 428

    习题 428

    第 15章 进程间通信 429

    15.1 引言 429

    15.2 管道 430

    15.3 函数popen和pclose 436

    15.4 协同进程 441

    15.5 FIFO 445

    15.6 XSI IPC 448

    15.6.1 标识符和键 448

    15.6.2 权限结构 449

    15.6.3 结构限制 450

    15.6.4 优点和缺点 450

    15.7 消息队列 451

    15.8 信号量 455

    15.9 共享存储 459

    15.10 POSIX信号量 465

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

    15.12 小结 472

    习题 472

    第 16章 网络IPC:套接字 474

    16.1 引言 474

    16.2 套接字描述符 474

    16.3 寻址 477

    16.3.1 字节序 477

    16.3.2 地址格式 478

    16.3.3 地址查询 480

    16.3.4 将套接字与地址关联 486

    16.4 建立连接 487

    16.5 数据传输 491

    16.6 套接字选项 502

    16.7 带外数据 504

    16.8 非阻塞和异步I/O 505

    16.9 小结 506

    习题 506

    第 17章 高级进程间通信 507

    17.1 引言 507

    17.2 UNIX域套接字 507

    17.3 唯一连接 512

    17.4 传送文件描述符 518

    17.5 open服务器进程第 1版 527

    17.6 open服务器进程第 2版 533

    17.7 小结 542

    习题 542

    第 18章 终端I/O 544

    18.1 引言 544

    18.2 综述 544

    18.3 特殊输入字符 549

    18.4 获得和设置终端属性 553

    18.5 终端选项标志 554

    18.6 stty命令 560

    18.7 波特率函数 560

    18.8 行控制函数 561

    18.9 终端标识 562

    18.10 规范模式 567

    18.11 非规范模式 570

    18.12 终端窗口大小 576

    18.13 termcap、terminfo和curses 578

    18.14 小结 578

    习题 579

    第 19章 伪终端 580

    19.1 引言 580

    19.2 概述 580

    19.3 打开伪终端设备 585

    19.4 函数pty_fork 588

    19.5 pty程序 590

    19.6 使用pty程序 595

    19.7 高级特性 600

    19.8 小结 601

    习题 601

    第 20章 数据库函数库 603

    20.1 引言 603

    20.2 历史 603

    20.3 函数库 604

    20.4 实现概述 605

    20.5 集中式或非集中式 608

    20.6 并发 610

    20.7 构造函数库 610

    20.8 源代码 611

    20.9 性能 635

    20.10 小结 639

    习题 639

    第 21章 与网络打印机通信 640

    21.1 引言 640

    21.2 网络打印协议 640

    21.3 超文本传输协议HTTP 642

    21.4 打印假脱机技术 643

    21.5 源代码 644

    21.6 小结 684

    习题 684

    附录A 函数原型 685

    附录B 其他源代码 721

    附录C 部分习题答案 730

    附录参考书目 763
  • 内容简介:
    本书是被誉为UNIX编程“圣经”的Advanced Programming in the UNIX Environment一书的第3版。在本书第2版出版后的8年中,UNIX发生了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持前一版风格的基础上,根据新的标准对内容进行了修订和增补,反映了新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了众多应用实例,包括如何创建数据库函数库以及如何与网络打印机通信等。此外,还在附录中给出了函数原型和部分习题的答案。

    本书内容**,概念清晰,阐述精辟,对于所有层次UNIX/Linux程序员都是一本不可或缺的参考书。
  • 作者简介:
    作者简介
    W. 理查德.史蒂文斯(W. Richard Stevens)国际知名的UNIX和网络专家,备受赞誉的技术作家。生前著有多部经典的传世之作,包括《UNIX网络编程》(两卷本)、《TCP/IP详解》(三卷本)和本书第1版。
    史蒂芬.A. 拉戈(Stephen A. Rago)资深UNIX程序员,目前任NEC美国实验室存储系统研究组研究员。之前是贝尔实验室的UNIX系统V版本4的开发人员之一。著有《UNIX系统V网络编程》,是本书第1版的技术审校和第2版的共同作者。
    译者简介
    戚正伟 博士,上海交通大学软件学院教授、博士生导师,CCF高级会员,CCF系统软件、理论计算机专委会委员,微软亚洲研究院和美国卡内基梅隆大学(CMU)访问学者。主要研究方向为系统软件和程序分析等,除翻译本书外,还著有《NewBluePill:深入理解硬件虚拟机》等。
    张亚英 博士,同济大学电子与信息工程学院计算机系教授,研究方向为网络与分布式系统、大数据挖掘与分析等。
    尤晋元 上海交通大学计算机科学及工程系教授、博士生导师。在科研方面,主要从事操作系统和分布对象计算技术方面的研究。在教学方面,长期承担操作系统及分布计算等课程的教学工作。主编和翻译了多本操作系统教材和参考书,包括《UNIX操作系统教程》《UNIX高级编程技术》《UNIX环境高级编程》和《操作系统:设计与实现》等。
  • 目录:
    第 1章 UNIX基础知识 1 

    1.1 引言 1

    1.2 UNIX体系结构 1

    1.3 登录 1

    1.4 文件和目录 3

    1.5 输入和输出 6

    1.6 程序和进程 8

    1.7 出错处理 11

    1.8 用户标识 13

    1.9 信号 14

    1.10 时间值 16

    1.11 系统调用和库函数 17

    1.12 小结 18

    习题 18

    第 2章 UNIX标准及实现 20

    2.1 引言 20

    2.2 UNIX标准化 20

    2.2.1 ISO C 20

    2.2.2 IEEE POSIX 21

    2.2.3 Single UNIX Specification 25

    2.2.4 FIPS 26

    2.3 UNIX系统实现 26

    2.3.1 SVR4 27

    2.3.2 4.4BSD 27

    2.3.3 FreeBSD 28

    2.3.4 Linux 28

    2.3.5 Mac OS X 28

    2.3.6 Solaris 28

    2.3.7 其他UNIX系统 29

    2.4 标准和实现的关系 29

    2.5 限制 29

    2.5.1 ISO C限制 30

    2.5.2 POSIX限制 31

    2.5.3 XSI限制 33

    2.5.4 函数sysconf、pathconf和fpathconf 33

    2.5.5 不确定的运行时限制 40

    2.6 选项 43

    2.7 功能测试宏 46

    2.8 基本系统数据类型 47

    2.9 标准之间的冲突 48

    2.10 小结 48

    习题 48

    第3章 文件I/O 49

    3.1 引言 49

    3.2 文件描述符 49

    3.3 函数open和openat 50

    3.4 函数creat 52

    3.5 函数close 53

    3.6 函数lseek 53

    3.7 函数read 57

    3.8 函数write 57

    3.9 I/O的效率 58

    3.10 文件共享 59

    3.11 原子操作 62

    3.12 函数dup和dup2 63

    3.13 函数sync、fsync和fdatasync 65

    3.14 函数fcntl 65

    3.15 函数ioctl 70

    3.16 /dev/fd 71

    3.17 小结 72

    习题 72

    第4章 文件和目录 74

    4.1 引言 74

    4.2 函数stat、fstat、fstatat和lstat 74

    4.3 文件类型 75

    4.4 设置用户ID和设置组ID 78

    4.5 文件访问权限 79

    4.6 新文件和目录的所有权 80

    4.7 函数access和faccessat 81

    4.8 函数umask 83

    4.9 函数chmod、fchmod和fchmodat 84

    4.10 粘着位 87

    4.11 函数chown、fchown、fchownat和lchown 88

    4.12 文件长度 89

    4.13 文件截断 90

    4.14 文件系统 90

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

    4.16 函数rename和renameat 95

    4.17 符号链接 96

    4.18 创建和读取符号链接 99

    4.19 文件的时间 99

    4.20 函数futimens、utimensat和utimes 101

    4.21 函数mkdir、mkdirat和rmdir 103

    4.22 读目录 104

    4.23 函数chdir、fchdir和getcwd 108

    4.24 设备特殊文件 110

    4.25 文件访问权限位小结 112

    4.26 小结 113

    习题 113

    第5章 标准I/O库 115

    5.1 引言 115

    5.2 流和FILE对象 115

    5.3 标准输入、标准输出和标准错误 116

    5.4 缓冲 116

    5.5 打开流 118

    5.6 读和写流 120

    5.7 每次一行I/O 122

    5.8 标准I/O的效率 123

    5.9 二进制I/O 125

    5.10 定位流 126

    5.11 格式化I/O 127

    5.12 实现细节 131

    5.13 临时文件 134

    5.14 内存流 137

    5.15 标准I/O的替代软件 140

    5.16 小结 140

    习题 140

    第6章 系统数据文件和信息 142

    6.1 引言 142

    6.2 口令文件 142

    6.3 阴影口令 145

    6.4 组文件 146

    6.5 附属组ID 147

    6.6 实现区别 148

    6.7 其他数据文件 148

    6.8 登录账户记录 149

    6.9 系统标识 150

    6.10 时间和日期例程 151

    6.11 小结 157

    习题 157

    第7章 进程环境 158

    7.1 引言 158

    7.2 main函数 158

    7.3 进程终止 158

    7.4 命令行参数 162

    7.5 环境表 163

    7.6 C程序的存储空间布局 163

    7.7 共享库 165

    7.8 存储空间分配 165

    7.9 环境变量 168

    7.10 函数setjmp和longjmp 170

    7.11 函数getrlimit和setrlimit 175

    7.12 小结 180

    习题 180

    第8章 进程控制 181

    8.1 引言 181

    8.2 进程标识 181

    8.3 函数fork 182

    8.4 函数vfork 187

    8.5 函数exit 188

    8.6 函数wait和waitpid 190

    8.7 函数waitid 194

    8.8 函数wait3和wait4 195

    8.9 竞争条件 196

    8.10 函数exec 199

    8.11 更改用户ID和更改组ID 204

    8.12 解释器文件 207

    8.13 函数system 211

    8.14 进程会计 215

    8.15 用户标识 220

    8.16 进程调度 221

    8.17 进程时间 224

    8.18 小结 226

    习题 226

    第9章 进程关系 228

    9.1 引言 228

    9.2 终端登录 228

    9.3 网络登录 231

    9.4 进程组 233

    9.5 会话 234

    9.6 控制终端 235

    9.7 函数tcgetpgrp、tcsetpgrp和tcgetsid 237

    9.8 作业控制 237

    9.9 shell执行程序 240

    9.10 孤儿进程组 244

    9.11 FreeBSD实现 246

    9.12 小结 248

    习题 248

    第 10章 信号 249

    10.1 引言 249

    10.2 信号概念 249

    10.3 函数signal 256

    10.4 不可靠的信号 259

    10.5 中断的系统调用 260

    10.6 可重入函数 262

    10.7 SIGCLD语义 264

    10.8 可靠信号术语和语义 266

    10.9 函数kill和raise 267

    10.10 函数alarm和pause 268

    10.11 信号集 273

    10.12 函数sigprocmask 275

    10.13 函数sigpending 276

    10.14 函数sigaction 278

    10.15 函数sigsetjmp和siglongjmp 283

    10.16 函数sigsuspend 286

    10.17 函数abort 291

    10.18 函数system 293

    10.19 函数sleep、nanosleep和clock_nanosleep 298

    10.20 函数sigqueue 300

    10.21 作业控制信号 301

    10.22 信号名和编号 303

    10.23 小结 305

    习题 305

    第 11章 线程 307

    11.1 引言 307

    11.2 线程概念 307

    11.3 线程标识 308

    11.4 线程创建 309

    11.5 线程终止 311

    11.6 线程同步 318

    11.6.1 互斥量 320

    11.6.2 避免死锁 322

    11.6.3 函数pthread_mutex_ timedlock 327

    11.6.4 读写锁 328

    11.6.5 带有超时的读写锁 332

    11.6.6 条件变量 332

    11.6.7 自旋锁 335

    11.6.8 屏障 336

    11.7 小结 340

    习题 340

    第 12章 线程控制 341

    12.1 引言 341

    12.2 线程限制 341

    12.3 线程属性 342

    12.4 同步属性 345

    12.4.1 互斥量属性 345

    12.4.2 读写锁属性 352

    12.4.3 条件变量属性 353

    12.4.4 屏障属性 354

    12.5 重入 354

    12.6 线程特定数据 358

    12.7 取消选项 362

    12.8 线程和信号 364

    12.9 线程和fork 367

    12.10 线程和I/O 370

    12.11 小结 371

    习题 371

    第 13章 守护进程 372

    13.1 引言 372

    13.2 守护进程的特征 372

    13.3 编程规则 374

    13.4 出错记录 377

    13.5 单实例守护进程 380

    13.6 守护进程的惯例 381

    13.7 客户进程-服务器进程模型 386

    13.8 小结 386

    习题 387

    第 14章 高级I/O 388

    14.1 引言 388

    14.2 非阻塞I/O 388

    14.3 记录锁 391

    14.4 I/O多路转接 403

    14.4.1 函数select和pselect 404

    14.4.2 函数poll 408

    14.5 异步I/O 410

    14.5.1 System V异步I/O 410

    14.5.2 BSD异步I/O 411

    14.5.3 POSIX异步I/O 411

    14.6 函数readv和writev 419

    14.7 函数readn和writen 421

    14.8 存储映射I/O 422

    14.9 小结 428

    习题 428

    第 15章 进程间通信 429

    15.1 引言 429

    15.2 管道 430

    15.3 函数popen和pclose 436

    15.4 协同进程 441

    15.5 FIFO 445

    15.6 XSI IPC 448

    15.6.1 标识符和键 448

    15.6.2 权限结构 449

    15.6.3 结构限制 450

    15.6.4 优点和缺点 450

    15.7 消息队列 451

    15.8 信号量 455

    15.9 共享存储 459

    15.10 POSIX信号量 465

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

    15.12 小结 472

    习题 472

    第 16章 网络IPC:套接字 474

    16.1 引言 474

    16.2 套接字描述符 474

    16.3 寻址 477

    16.3.1 字节序 477

    16.3.2 地址格式 478

    16.3.3 地址查询 480

    16.3.4 将套接字与地址关联 486

    16.4 建立连接 487

    16.5 数据传输 491

    16.6 套接字选项 502

    16.7 带外数据 504

    16.8 非阻塞和异步I/O 505

    16.9 小结 506

    习题 506

    第 17章 高级进程间通信 507

    17.1 引言 507

    17.2 UNIX域套接字 507

    17.3 唯一连接 512

    17.4 传送文件描述符 518

    17.5 open服务器进程第 1版 527

    17.6 open服务器进程第 2版 533

    17.7 小结 542

    习题 542

    第 18章 终端I/O 544

    18.1 引言 544

    18.2 综述 544

    18.3 特殊输入字符 549

    18.4 获得和设置终端属性 553

    18.5 终端选项标志 554

    18.6 stty命令 560

    18.7 波特率函数 560

    18.8 行控制函数 561

    18.9 终端标识 562

    18.10 规范模式 567

    18.11 非规范模式 570

    18.12 终端窗口大小 576

    18.13 termcap、terminfo和curses 578

    18.14 小结 578

    习题 579

    第 19章 伪终端 580

    19.1 引言 580

    19.2 概述 580

    19.3 打开伪终端设备 585

    19.4 函数pty_fork 588

    19.5 pty程序 590

    19.6 使用pty程序 595

    19.7 高级特性 600

    19.8 小结 601

    习题 601

    第 20章 数据库函数库 603

    20.1 引言 603

    20.2 历史 603

    20.3 函数库 604

    20.4 实现概述 605

    20.5 集中式或非集中式 608

    20.6 并发 610

    20.7 构造函数库 610

    20.8 源代码 611

    20.9 性能 635

    20.10 小结 639

    习题 639

    第 21章 与网络打印机通信 640

    21.1 引言 640

    21.2 网络打印协议 640

    21.3 超文本传输协议HTTP 642

    21.4 打印假脱机技术 643

    21.5 源代码 644

    21.6 小结 684

    习题 684

    附录A 函数原型 685

    附录B 其他源代码 721

    附录C 部分习题答案 730

    附录参考书目 763
查看详情
相关图书 / 更多
UNIX环境高级编程第3版
UNDERORDERS.
Dick Francis 著
UNIX环境高级编程第3版
UNIXApplicationMigrationGuide(Patterns&Practices)
Microsoft Corporation 编
UNIX环境高级编程第3版
UNIX网络编程卷2进程间通信第2版
[美]W.理查德·史蒂文斯(W.Richard Stevens) 著
UNIX环境高级编程第3版
UNIX xv6内核源码深入剖析
高联雄
UNIX环境高级编程第3版
UN维和步兵营
王昆 著
UNIX环境高级编程第3版
UNIX/Linux系统管理技术手册(第5版)
[美]埃薇·内梅特(Evi Nemeth)、加思·斯奈德(Garth Snyder)、特伦特·R.海恩本·惠利(Trent,R.Hein) 译
UNIX环境高级编程第3版
UNIX环境高级编程第3版英文版上下册
[美]W.理查德·史蒂文斯(W.、Richard、Stevens)史蒂芬·A.、拉戈(StephenA.Rago) 著
UNIX环境高级编程第3版
UNESCO与中国教育:中国国际教育发展报告(2021)
四川外国语大学国际教育学院
UNIX环境高级编程第3版
UNICEF (United Nations Children's Fund): Global Governance That Works
Richard Jolly
UNIX环境高级编程第3版
UNITY应用开发实战案例
程明智
UNIX环境高级编程第3版
UNIX传奇:历史与回忆
[美]布莱恩·W.克尼汉(Brian W. Kernighan)
UNIX环境高级编程第3版
UNIX网络编程卷1套接字联网API第3版
[美]W.理查德·史蒂文斯(W.、Richard、Stevens)比尔·芬纳(比尔·芬纳(Bill,Fenner)、安德鲁·M. 著