《unix环境高级编程源码》这本书怎么看?怎么学习

《UNIX环境高级编程》这本书总是感觉看不下去,怎么办呢?什么书适合打基础?谢谢大家!!!
[问题点数:50分,结帖人smallbear_2008]
《UNIX环境高级编程》这本书总是感觉看不下去,怎么办呢?什么书适合打基础?谢谢大家!!!
[问题点数:50分,结帖人smallbear_2008]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2011年5月 Linux/Unix社区大版内专家分月排行榜第一2011年4月 Linux/Unix社区大版内专家分月排行榜第一2011年3月 Linux/Unix社区大版内专家分月排行榜第一2010年12月 Linux/Unix社区大版内专家分月排行榜第一2010年11月 Linux/Unix社区大版内专家分月排行榜第一2010年10月 Linux/Unix社区大版内专家分月排行榜第一2010年9月 Linux/Unix社区大版内专家分月排行榜第一2010年8月 Linux/Unix社区大版内专家分月排行榜第一2010年7月 Linux/Unix社区大版内专家分月排行榜第一2010年6月 Linux/Unix社区大版内专家分月排行榜第一2010年5月 Linux/Unix社区大版内专家分月排行榜第一2010年4月 Linux/Unix社区大版内专家分月排行榜第一2010年3月 Linux/Unix社区大版内专家分月排行榜第一2010年2月 Linux/Unix社区大版内专家分月排行榜第一2010年1月 Linux/Unix社区大版内专家分月排行榜第一2009年10月 Linux/Unix社区大版内专家分月排行榜第一2009年9月 Linux/Unix社区大版内专家分月排行榜第一
2011年7月 Linux/Unix社区大版内专家分月排行榜第二2011年6月 Linux/Unix社区大版内专家分月排行榜第二2011年2月 Linux/Unix社区大版内专家分月排行榜第二
2010年5月 Linux/Unix社区大版内专家分月排行榜第二2009年11月 Linux/Unix社区大版内专家分月排行榜第二
2010年4月 Linux/Unix社区大版内专家分月排行榜第三2009年10月 Linux/Unix社区大版内专家分月排行榜第三2009年6月 Linux/Unix社区大版内专家分月排行榜第三2008年7月 Linux/Unix社区大版内专家分月排行榜第三2007年12月 Linux/Unix社区大版内专家分月排行榜第三
2011年11月 专题开发/技术/项目大版内专家分月排行榜第二2011年8月 专题开发/技术/项目大版内专家分月排行榜第二
2009年4月 总版技术专家分月排行榜第一
2009年11月 Linux/Unix社区大版内专家分月排行榜第一2009年6月 Linux/Unix社区大版内专家分月排行榜第一2009年4月 C/C++大版内专家分月排行榜第一2009年3月 C/C++大版内专家分月排行榜第一2009年3月 Linux/Unix社区大版内专家分月排行榜第一2009年2月 Linux/Unix社区大版内专家分月排行榜第一
2008年11月 Linux/Unix社区大版内专家分月排行榜第三
2003年9月 C/C++大版内专家分月排行榜第二2002年6月 C/C++大版内专家分月排行榜第二2002年4月 C/C++大版内专家分月排行榜第二
2007年3月 C/C++大版内专家分月排行榜第三2007年2月 C/C++大版内专家分月排行榜第三2007年1月 C/C++大版内专家分月排行榜第三2003年7月 C/C++大版内专家分月排行榜第三
2008年3月 Linux/Unix社区大版内专家分月排行榜第二
2012年9月 Linux/Unix社区大版内专家分月排行榜第三2007年6月 Linux/Unix社区大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。你的位置:
&& 详细内容
《UNIX环境高级编程》文字版[PDF]
本资料所属分类:
更新时间:日
如不能下载,请查看
中文名: UNIX环境高级编程
作者: 赵振平
图书分类: 软件
资源格式: PDF
版本: 文字版
出版社: 机械工业出版社
书号: 8-401 53297-6
发行时间: 2006年
地区: 大陆
语言: 简体中文
内容简介:
本书全面介绍了UNIX系统的程序设计界面—系统调用界面和标准C库提供的许多函数。 本书的前15章着重于理论知识的阐述,主要内容包括UNIX文件和目录、进程环境、进程控制、进程间通信以及各种I/O。在此基础上,分别按章介绍了多个应用实例,包括如何创建数据库函数库,PostScript 打印机驱动程序,调制解调器拨号器及在伪终端上运行其他程序的程序等。 本书内容丰富权威,概念清晰精辟,一直以来被誉为UNIX编程的“圣经”,对于所有UNIX程序员—无论是初学者还是专家级人士—都是一本无价的参考书籍。
第1章 UNIX基础知识 1
1.1 引言 1
1.2 登录 1
1.2.1 登录名 1
1.2.2 shell 1
1.3 文件和目录 2
1.3.1 文件系统 2
1.3.2 文件名 2
1.3.3 路径名 2
1.3.4 工作目录 4
1.3.5 起始目录 4
1.4 输入和输出 5
1.4.1 文件描述符 5
1.4.2 标准输入、标准输出和标准
1.4.3 不用缓存的I/O 5
1.4.4 标准I/O 6
1.5 程序和进程 7
1.5.1 程序 7
1.5.2 进程和进程ID 7
1.5.3 进程控制 7
1.6 ANSI C 9
1.6.1 函数原型 9
1.6.2 类属指针 9
1.6.3 原始系统数据类型 10
1.7 出错处理 10
1.8 用户标识 11
1.8.1 用户ID 11
1.8.2 组ID 12
1.8.3 添加组ID 12
1.9 信号 12
1.10 UNIX时间值 14
1.11 系统调用和库函数 14
1.12 小结 16
第2章 UNIX标准化及实现 17
2.1 引言 17
2.2 UNIX标准化 17
2.2.1 ANSI C 17
2.2.2 IEEE POSIX 18
2.2.3 X/Open XPG3 19
2.2.4 FIPS 19
2.3 UNIX实现 19
2.3.1 SVR4 20
2.3.2 4.3+BSD 20
2.4 标准和实现的关系 21
2.5 限制 21
2.5.1 ANSI C限制 22
2.5.2 POSIX限制 22
2.5.3 XPG3限制 24
2.5.4 sysconf、pathconf 和fpathconf
2.5.5 FIPS 151-1要求 28
2.5.6 限制总结 28
2.5.7 未确定的运行时间限制 29
2.6 功能测试宏 32
2.7 基本系统数据类型 32
2.8 标准之间的冲突 33
2.9 小结 34
第3章 文件I/O 35
3.1 引言 35
3.2 文件描述符 35
3.3 open函数 35
3.4 creat函数 37
3.5 close函数 37
3.6 lseek函数 38
3.7 read函数 40
3.8 write函数 41
3.9 I/O的效率 41
3.10 文件共享 42
3.11 原子操作 45
3.11.1 添加至一个文件 45
3.11.2 创建一个文件 45
3.12 dup和dup2函数 46
3.13 fcntl函数 47
3.14 ioctl函数 50
3.15 /dev/fd 51
3.16 小结 52
第4章 文件和目录 54
4.1 引言 54
4.2 stat, fstat和lstat函数 54
4.3 文件类型 55
4.4 设置-用户-ID和设置-组-ID 57
4.5 文件存取许可权 58
4.6 新文件和目录的所有权 60
4.7 access函数 60
4.8 umask函数 62
4.9 chmod和fchmod函数 63
4.10 粘住位 65
4.11 chown, fchown和 lchown函数 66
4.12 文件长度 67
4.13 文件截短 68
4.14 文件系统 69
4.15 link, unlink, remove和rename
4.16 符号连接 73
4.17 symlink 和readlink函数 76
4.18 文件的时间 76
4.19 utime函数 78
4.20 mkdir和rmdir函数 79
4.21 读目录 80
4.22 chdir, fchdir和getcwd函数 84
4.23 特殊设备文件 86
4.24 sync和fsync函数 87
4.25 文件存取许可权位小结 88
4.26 小结 89
第5章 标准I/O库 91
5.1 引言 91
5.2 流和FILE对象 91
5.3 标准输入、标准输出和标准出错 91
5.4 缓存 91
5.5 打开流 94
5.6 读和写流 96
5.6.1 输入函数 96
5.6.2 输出函数 97
5.7 每次一行I/O 98
5.8 标准I/O的效率 99
5.9 二进制I/O 100
5.10 定位流 102
5.11 格式化I/O 103
5.11.1 格式化输出 103
5.11.2 格式化输入 103
5.12 实现细节 104
5.13 临时文件 105
5.14 标准I/O的替代软件 108
5.15 小结 108
第6章 系统数据文件和信息 110
6.1 引言 110
6.2 口令文件 110
6.3 阴影口令 112
6.4 组文件 113
6.5 添加组ID 114
6.6 其他数据文件 115
6.7 登录会计 116
6.8 系统标识 116
6.9 时间和日期例程 117
6.10 小结 121
第7章 UNIX进程的环境 122
7.1 引言 122
7.2 main 函数 122
7.3 进程终止 122
7.3.1 exit和_exit函数 122
7.3.2 atexit函数 124
7.4 命令行参数 125
7.5 环境表 126
7.6 C程序的存储空间布局 126
7.7 共享库 127
7.8 存储器分配 128
7.9 环境变量 130
7.10 setjmp 和longjmp函数 132
7.10.1 自动、寄存器和易失变量 134
7.10.2 自动变量的潜在问题 136
7.11 getrlimit 和setrlimit函数 136
7.12 小结 139
第8章 进程控制 141
8.1 引言 141
8.2 进程标识 141
8.3 fork函数 142
8.4 vfork 函数 145
8.5 exit函数 147
8.6 wait和waitpid函数 148
8.7 wait3和wait4函数 152
8.8 竞态条件 153
8.9 exec函数 156
8.10 更改用户ID和组ID 160
8.10.1 setreuid 和setregid函数 162
8.10.2 seteuid和 setegid函数 163
8.10.3 组ID 163
8.11 解释器文件 164
8.12 system函数 167
8.13 进程会计 171
8.14 用户标识 175
8.15 进程时间 176
8.16 小结 178
第9章 进程关系 180
9.1 引言 180
9.2 终端登录 180
9.2.1 4.3+BSD终端登录 180
9.2.2 SVR4终端登录 182
9.3 网络登录 182
9.3.1 4.3+BSD网络登录 182
9.3.2 SVR4网络登录 183
9.4 进程组 183
9.5 对话期 184
9.6 控制终端 185
9.7 tcgetpgrp 和tcsetpgrp函数 187
9.8 作业控制 187
9.9 shell执行程序 189
9.10 孤儿进程组 193
9.11 4.3+BSD实现 195
9.12 小结 197
第10章 信号 198
10.1 引言 198
10.2 信号的概念 198
10.3 signal函数 203
10.3.1 程序起动 205
10.3.2 进程创建 206
10.4 不可靠的信号 206
10.5 中断的系统调用 207
10.6 可再入函数 209
10.7 SIGCLD语义 211
10.8 可靠信号术语和语义 213
10.9 kill和raise函数 213
10.10 alarm和pause函数 214
10.11 信号集 219
10.12 sigprocmask 函数 220
10.13 sigpending函数 222
10.14 sigaction函数 223
10.15 sigsetjmp 和siglongjmp函数 226
10.16 sigsuspend函数 229
10.17 abort函数 234
10.18 system函数 235
10.19 sleep函数 240
10.20 作业控制信号 241
10.21 其他特征 243
10.21.1 信号名字 243
10.21.2 SVR4信号处理程序的附
加参数 244
10.21.3 4.3+BSD信号处理程序的附
加参数 244
10.22 小结 244
第11章 终端I/O 246
11.1 引言 246
11.2 综述 246
11.3 特殊输入字符 250
11.4 获得和设置终端属性 254
11.5 终端选择标志 254
11.6 stty命令 258
11.7 波特率函数 259
11.8 行控制函数 260
11.9 终端标识 260
11.10 规范方式 263
11.11 非规范方式 266
11.12 终端的窗口大小 270
11.13 termcap, terminfo和 curses 271
11.14 小结 272
第12章 高级I/O 273
12.1 引言 273
12.2 非阻塞I/O 273
12.3 记录锁 275
12.3.1 历史 276
12.3.2 fcntl记录锁 276
12.3.3 锁的隐含继承和释放 280
12.3.4 4.3+BSD的实现 281
12.3.5 建议性锁和强制性锁 284
12.4 流 288
12.4.1 流消息 289
12.4.2 putmsg和putpmsg函数 290
12.4.3 流ioctl操作 291
12.4.4 write至流设备 294
12.4.5 写方式 294
12.4.6 getmsg和getpmsg函数 294
12.4.7 读方式 295
12.5 I/O多路转接 296
12.5.1 select函数 298
12.5.2 poll函数 301
12.6 异步I/O 303
12.6.1 SVR4 303
12.6.2 4.3+BSD 303
12.7 readv和writev函数 304
12.8 readn和writen函数 306
12.9 存储映射I/O 307
12.10 小结 311
第13章 精灵进程 312
13.1 引言 312
13.2 精灵进程的特征 312
13.3 编程规则 313
13.4 出错记录 314
13.4.1 SVR4流log驱动程序 315
13.4.2 4.3+BSD syslog设施 316
13.5 客户机-服务器模型 319
13.6 小结 319
第14章 进程间通信 320
14.1 引言 320
14.2 管道 320
14.3 popen和pclose函数 325
14.4 协同进程 330
14.5 FIFO 333
14.6 系统V IPC 335
14.6.1 标识符和关键字 336
14.6.2 许可权结构 337
14.6.3 结构限制 337
14.6.4 优点和缺点 337
14.7 消息队列 338
14.8 信号量 342
14.9 共享存储 346
14.10 客户机-服务器属性 351
14.11 小结 353
第15章 高级进程间通信 355
15.1 引言 355
15.2 流管道 355
15.3 传送文件描述符 358
15.3.1 SVR4 360
15.3.2 4.3BSD 361
15.3.3 4.3+BSD 364
15.4 open服务器第1版 366
15.5 客户机-服务器连接函数 371
15.5.1 SVR4 372
15.5.2 4.3+BSD 375
15.6 open服务器第2版 378
15.7 小结 385
第16章 数据库函数库 386
16.1 引言 386
16.2 历史 386
16.3 函数库 386
16.4 实现概述 388
16.5 集中式或非集中式 390
16.6 并发 391
16.6.1 粗锁 391
16.6.2 细锁 391
16.7 源码 392
16.8 性能 409
16.8.1 单进程的结果 410
16.8.2 多进程的结果 410
16.9 小结 412
第17章 与PostScript打印机通信 413
17.1 引言 413
17.2 PostScript通信机制 413
17.3 假脱机打印 415
17.4 源码 417
17.5 小结 434
第18章 调制解调器拨号器 435
18.1 引言 435
18.2 历史 435
18.3 程序设计 436
18.4 数据文件 437
18.5 服务器设计 439
18.6 服务器源码 439
18.7 客户机设计 463
18.7.1 终端行规程 463
18.7.2 一个进程还是两个进程 464
18.8 客户机源码 465
18.9 小结 474
第19章 伪终端 476
19.1 引言 476
19.2 概述 476
19.2.1 网络登录服务器 477
19.2.2 script程序 478
19.2.3 expect程序 479
19.2.4 运行协同进程 479
19.2.5 观看长时间运行程序的输出 479
19.3 打开伪终端设备 480
19.3.1 SVR4 481
19.3.2 4.3+BSD 482
19.4 pty_fork函数 484
19.5 pty程序 486
19.6 使用pty程序 489
19.6.1 utmp文件 489
19.6.2 作业控制交互 489
19.6.3 检查长时间运行程序的输出 491
19.6.4 script程序 491
19.6.5 运行协同进程 492
19.6.6 用非交互模式驱动交互式
19.7 其他特性 494
19.7.1 打包模式 494
19.7.2 远程模式 494
19.7.3 窗口大小变化 495
19.7.4 信号发生 495
19.8 小结 495
附录A 函数原型 497
附录B 其他源代码 512
附录C 习题答案 518
参考书目 536
自带站内搜索End-->
相关学习资料APUE《UNIX环境高级编程》第三版来了,原作者离逝后,大家如何看待第二作者更新过的第三版? | 日志 | 果壳网 科技有意思
APUE第三版来了,有读过英文版第三版的没有?大家怎么看第三版的到来?新版作者介绍:Stephen A. Rago 资深UNIX 程序员,目前任NEC 美国实验室存储系统研究组研究员。之前是贝尔实验室的UNIX 系统V 版本4 的开发人员之一。著有《UNIX 系统V 网络编程》,并曾担任本书第1 版的技术审校和第2 版的共同作者。与第2版的不同之处最大的变化之一是POSIX.1-2008中的Single UNIX Specification弃用了一些STREAMS相关接口。这是准备在该标准的未来版本中去掉全部这些接口过程的第一步。因此,我已经不情愿地在本次版本中删除了STREAMS的内容。这是一个不幸的变化,因为STREAMS接口为socket接口提供了一个很好的对照,并且在很多方面更为灵活。不可否认,当谈论到STREAMS时我并非绝对公正,但是毫无疑问的是,在现有系统中它的分量已经减轻。● Linux基础系统中未包含STREAMS,虽然添加该功能的包(LiS和OpenSS7)是可用的。● 虽然Solaris 10中包含了STREAMS,但是Solaris 11的socket实现并没有构建在STREAMS之上。● Mac OS X不包含STREAMS支持。● FreeBSD不包含STREAMS支持(也从未包含过)。随着STREAMS相关内容的去除,新的主题变得有机会替代它,例如POSIX异步I/O。在本书第2版中,Linux版本是基于2.4版的。在这次的版本中,我们已经更新到了3.2版。两个版本的最大不同之一是线程系统。在Linux 2.4和Linux 2.6之间,线程的实现变为Native POSIX Thread Library(NPTL)。NPTL使得Linux线程的行为与其他系统的线程更加相似。总的来说,这次的版本涵盖了超过70个新的接口,包括处理异步I/O、自旋锁、栅栏和POSIX信号量等等接口。除了一些被普遍使用的接口被保留,大多数弃用的接口均被删除。
本文由授权()发表,文章著作权为原作者所有。
UNIX的没有接触过
到现在都是
(C)2015果壳网&京ICP备号-2&京公网安备(Unix环境高级编程――第二版)学习心得_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
(Unix环境高级编程――第二版)学习心得
上传于||暂无简介
阅读已结束,如果下载本文需要使用
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩3页未读,继续阅读
你可能喜欢}

我要回帖

更多关于 unix环境高级编程源码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信