书籍 UNIX环境高级编程  第3版的封面

UNIX环境高级编程 第3版PDF电子书下载

(美)W.理查德·史蒂文斯

购买点数

20

出版社

出版时间

2019

ISBN

标注页数

0 页

PDF页数

834 页

标签

编程 环境

图书目录

第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和wait 4 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 XSIIPC 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打开服务器进程第1版 527

17.6打开服务器进程第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.6stty命令 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

索引 770

查看更多关于的内容

出版社其它书籍
本类热门
在线购买PDF电子书
下载此书RAR压缩包