首页

《UNIX环境高级编程_第2版》PDF版本下载

标签:UNIX编程,Solaris,POSIX限制,文件I/O,creat函数,C程序     发布时间:2016-12-16   
  • 云盘下载:
  • [提取码:0000]
  • 本地下载:
       ( 需积分:2  )

一、目录介绍

UNIX环境高级编程_第2版副本.jpg

第1章 UNIX基础知识
1.1   引言1
1.2   UNIX体系结构1
1.3   登录1
1.4   文件和目录3
1.5   输入和输出6
1.6   程序和进程8
1.7   出错处理10
1.8   用户标识12
1.9   信号14
1.10  时间值15
1.11  系统调用和库函数16
1.12  小结17
      习题18
      
第2章 UNIX标准化及实现
2.1   引言19
2.2   UNIX标准化19
2.2.1 ISO C19
2.2.2 IEEE POSIX20
2.2.3 Single UNIX Specification25
2.2.4 FIPS26
2.3   UNIX系统实现26
2.3.1 SVR426
2.3.2 BSD27
2.3.3 FreeBSD27
2.3.4 Linux27
2.3.5 Mac OS X28
2.3.6 Solaris28
2.3.7 其他UNIX系统28
2.4   标准和实现的关系28
2.5   限制29
2.5.1 ISO C限制29
2.5.2 POSIX限制30
2.5.3 XSI限制32
2.5.4 sysconf、pathconf和fpathconf函数32
2.5.5 不确定的运行时限制38
2.6   选项42
2.7   功能测试宏44
2.8   基本系统数据类型45
2.9   标准之间的冲突45
2.10  小结46
      习题46
      
第3章 文件I/O
3.1   引言47
3.2   文件描述符47
3.3   open函数48
3.4   creat函数49
3.5   close函数50
3.6   lseek函数50
3.7   read函数53
3.8   write函数54
3.9   I/O的效率54
3.10  文件共享56
3.11  原子操作59
3.12  dup和dup2函数60
3.13  sync、fsync和fdatasync函数61
3.14  fcntl函数62
3.15  ioctl函数66
3.16  /dev/fd67
3.17  小结68
      习题68
      
第4章 文件和目录
4.1   引言71
4.2   stat、fstat和lstat函数71
4.3   文件类型72
4.4   设置用户ID和设置组ID74
4.5   文件访问权限75
4.6   新文件和目录的所有权77
4.7   access函数77
4.8   umask函数79
4.9   chmod和fchmod函数81
4.10  粘住位83
4.11  chown、fchown和lchown函数84
4.12  文件长度85
4.13  文件截短86
4.14  文件系统86
4.15  link、unlink、remove和rename函数89
4.16  符号链接91
4.17  symlink和readlink函数94
4.18  文件的时间94
4.19  utime函数95
4.20  mkdir和rmdir函数97
4.21  读目录98
4.22  chdir、fchdir和getcwd函数102
4.23  设备特殊文件104
4.24  文件访问权限位小结106
4.25  小结106
      习题107
      
第5章 标准I/O库
5.1   引言109
5.2   流和FILE对象109
5.3   标准输入、标准输出和标准出错110
5.4   缓冲110
5.5   打开流112
5.6   读和写流114
5.7   每次一行I/O116
5.8   标准I/O的效率117
5.9   二进制I/O119
5.10  定位流120
5.11  格式化I/O121
5.12  实现细节125
5.13  临时文件127
5.14  标准I/O的替代软件130
5.15  小结130
      习题130
      
第6章 系统数据文件和信息
6.1   引言133
6.2   口令文件133
6.3   阴影口令136
6.4   组文件137
6.5   附加组ID138
6.6   实现的区别139
6.7   其他数据文件139
6.8   登录账户记录140
6.9   系统标识141
6.10  时间和日期例程142
6.11  小结146
      习题146
      
第7章 进程环境
7.1   引言147
7.2   main函数147
7.3   进程终止147
7.4   命令行参数151
7.5   环境表152
7.6   C程序的存储空间布局152
7.7   共享库154
7.8   存储器分配154
7.9   环境变量157
7.10  setjmp和longjmp函数159
7.11  getrlimit和setrlimit函数164
7.12  小结168
      习题168
      
第8章 进程控制
8.1   引言171
8.2   进程标识符171
8.3   fork函数172
8.4   vfork函数176
8.5   exit函数178
8.6   wait和waitpid函数179
8.7   waitid函数183
8.8   wait3和wait4函数184
8.9   竞争条件185
8.10  exec函数188
8.11  更改用户ID和组ID192
8.12  解释器文件196
8.13  system函数200
8.14  进程会计203
8.15  用户标识208
8.16  进程时间208
8.17  小结210
      习题211
      
第9章 进程关系
9.1   引言213
9.2   终端登录213
9.3   网络登录216
9.4   进程组218
9.5   会话219
9.6   控制终端220
9.7   tcgetpgrp、tcsetpgrp和tcgetsid函数221
9.8   作业控制222
9.9   shell执行程序225
9.10  孤儿进程组228
9.11  FreeBSD实现230
9.12  小结231
      习题232
      
第10章 信号
10.1   引言233
10.2   信号概念233
10.3   signal函数240
10.4   不可靠的信号242
10.5   中断的系统调用244
10.6   可重入函数246
10.7   SIGCLD语义248
10.8   可靠信号术语和语义250
10.9   kill和raise函数251
10.10  alarm和pause函数252
10.11  信号集256
10.12  sigprocmask函数258
10.13  sigpending函数259
10.14  sigaction函数261
10.15  sigsetjmp和siglongjmp函数266
10.16  sigsuspend函数268
10.17  abort函数274
10.18  system函数276
10.19  sleep函数280
10.20  作业控制信号282
10.21  其他特征284
10.22  小结285
       习题285
       
第11章 线程
11.1   引言287
11.2   线程概念287
11.3   线程标识288
11.4   线程的创建288
11.5   线程终止291
11.6   线程同步297
11.7   小结311
       习题311
       
第12章 线程控制
12.1   引言313
12.2   线程限制313
12.3   线程属性314
12.4   同步属性318
12.5   重入324
12.6   线程私有数据328
12.7   取消选项331
12.8   线程和信号333
12.9   线程和fork336
12.10  线程和I/O339
12.11  小结340
       习题340
       
第13章 守护进程
13.1   引言341
13.2   守护进程的特征341
13.3   编程规则342
13.4   出错记录345
13.5   单实例守护进程348
13.6   守护进程的惯例350
13.7   客户进程-服务器进程模型354
13.8   小结354
       习题354
       
第14章 高级I/O
14.1   引言355
14.2   非阻塞I/O355
14.3   记录锁357
14.4   STREAMS370
14.5   I/O多路转接379
14.5.1 select和pselect函数381
14.5.2 poll函数384
14.6   异步I/O386
14.6.1 系统V异步I/O386
14.6.2 BSD异步I/O387
14.7   readv和writev函数387
14.8   readn和writen函数389
14.9   存储映射I/O390
14.10  小结395
       习题396
       
第15章 进程间通信
15.1   引言397
15.2   管道398
15.3   popen和pclose函数403
15.4   协同进程408
15.5   FIFO412
15.6   XSI IPC415
15.6.1 标识符和键415
15.6.2 权限结构416
15.6.3 结构限制417
15.6.4 优点和缺点417
15.7   消息队列418
15.8   信号量422
15.9   共享存储427
15.10  客户进程-服务器进程属性432
15.11  小结434
       习题434
       
第16章 网络IPC:套接字
16.1   引言437
16.2   套接字描述符437
16.3   寻址439
16.3.1 字节序440
16.3.2 地址格式441
16.3.3 地址查询442
16.3.4 将套接字与地址绑定449
16.4   建立连接450
16.5   数据传输452
16.6   套接字选项464
16.7   带外数据466
16.8   非阻塞和异步I/O467
16.9   小结468
       习题468
       
第17章 高级进程间通信
17.1   引言469
17.2   基于STREAMS的管道469
17.2.1 命名的STREAMS管道472
17.2.2 唯一连接473
17.3   UNIX域套接字476
17.3.1 命名UNIX域套接字477
17.3.2 唯一连接478
17.4   传送文件描述符482
17.4.1 经由基于STREAMS的管道传送文件描述符484
17.4.2 经由UNIX域套接字传送文件描述符486
17.5   open服务器版本1493
17.6   open服务器版本2498
17.7   小结505
       习题505
       
第18章 终端I/O
18.1   引言507
18.2   综述507
18.3   特殊输入字符512
18.4   获得和设置终端属性516
18.5   终端选项标志516
18.6   stty命令522
18.7   波特率函数523
18.8   行控制函数524
18.9   终端标识524
18.10  规范模式529
18.11  非规范模式532
18.12  终端的窗口大小537
18.13  termcap,terminfo和curses539
18.14  小结540
       习题540
       
第19章 伪终端
19.1   引言541
19.2   概述541
19.3   打开伪终端设备544
19.3.1 基于STREAMS的伪终端547
19.3.2 基于BSD的伪终端549
19.3.3 基于Linux的伪终端551
19.4   pty_fork函数553
19.5   pty程序555
19.6   使用pty程序559
19.7   高级特性564
19.8   小结565
       习题565
       
第20章 数据库函数库
20.1   引言567
20.2   历史567
20.3   函数库568
20.4   实现概述569
20.5   集中式或非集中式572
20.6   并发574
20.7   构造函数库574
20.8   源代码575
20.9   性能598
20.10  小结600
       习题601
       
第21章 与网络打印机通信
21.1   引言603
21.2   网络打印协议603
21.3   超文本传输协议605
21.4   打印假脱机技术605
21.5   源代码607
21.6   小结644
       习题645
附录A函数原型647
附录B其他源代码677
附录C部分习题答案685
参考书目709
索引715

��