图书介绍
实用UNIX编程PDF|Epub|txt|kindle电子书版本下载
- (美)(K.A.罗宾斯)Kay A.Robbins,(美)(S.罗宾斯)Steven Robbins著;刘宗田等译 著
- 出版社: 北京:机械工业出版社
- ISBN:7111073819
- 出版时间:1999
- 标注页数:448页
- 文件大小:49MB
- 文件页数:459页
- 主题词:
PDF下载
下载说明
实用UNIX编程PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
译者序1
前言1
第一篇基础知识1
第1章并发1
1.1多道程序设计和多重任务处理1
目录1
1.2应用层次上的并发4
1.2.1 中断4
1.2.2信号4
1.2.3输入和输出5
1.2.4线程和资源共享5
1.2.5分布式计算网络6
1.3 UNIX标准6
1.4 UNIX中的编程7
1.5使函数安全14
1.7附加读物16
1.6练习:参数数组16
第2章程序和进程18
2.1可执行程序的布局18
2.2静态对象21
2.3进程ID25
2.4进程状态26
2.5进程创建和UNIX fork28
2.6 wait系统调用31
2.7 exec系统调用35
2.8后台进程和守护进程39
2.9进程环境41
2.10 UNIX中的进程终止44
2.11临界区45
2.12练习:进程链46
2.14练习:简单的biff48
2.13.2测试runsim程序48
2.13.1 runsim的说明48
2.13练习:进程扇48
2.15练习:新闻biff49
2.15.1 Biffing一个单个文件50
2.15.2列表对象的创建50
2.16附加读物51
第3章文件52
3.1目录和路径52
3.1.1读取目录55
3.1.2搜索路径57
3.1.3 UNIX文件系统58
3.2 UNIX的文件表示58
3.2.1目录表示61
3.2.2链接61
3.3文件句柄表示66
3.3.1文件描述符66
3.3.2文件指针和缓冲69
3.3.3文件描述符的继承70
3.4过滤程序和重定向73
3.5管道74
3.6读和写文件77
3.7非阻塞的I/O80
3.8 select调用81
3.9 FIFO82
3.10特殊文件——音频设备85
3.11练习:遍历目录89
3.12练习:proc文件系统91
3.13练习:音频93
3.14练习:终端控制94
3.15附加读物95
第4章工程:令牌环96
4.1形成一个环96
4.2简单通信103
4.3令牌的互斥104
4.4通过投票的互斥105
4.5匿名环上的领袖选举106
4.6用于通信的令牌环107
4.7流水线预处理器109
4.8并行令牌算法110
4.8.1图像滤波110
4.8.2矩阵乘法112
4.9 可伸缩环113
4.10附加读物114
第二篇异步事件115
第5章信号115
5.1发送信号115
5.2信号屏蔽和信号集合119
5.3 sigaction函数122
5.4 pause函数和sigsuspend函数125
5.5一个例子——biff127
5.6系统调用和信号129
5.7 siglongjmp和sigsetjmp函数132
5.8实时信号133
5.9异步I/O136
5.10练习:统计运行时间139
5.11练习:文件系统二进程139
5.12练习:假脱机一个“慢”设备141
5.13附加读物141
第6章工程:计时器142
6.1 UNIX中的计时器142
6.2 间隔计时器146
6.2.1 Spec 1170的间隔计时器146
6.2.2 POSIX的间隔计时器149
6.3 工程概述151
6.4简单的计时器152
6.5设置五个独立计时器中的一个154
6.5.1 mytimers对象155
6.5.2 hardware_timer对象157
6.5.3主程序的实现158
6.5.4 showall对象158
6.6多计时器163
6.6.1设置多计时器164
6.6.2 对多计时器进行测试166
6.7多处理器的安全执行168
6.8 cron工具169
6.9 POSIX计时器实现169
6.10附加读物176
第7章工程:解剖shell177
7.1一个简单的shell178
7.2重定向182
7.3管道线184
7.4信号186
7.5进程组、会议和控制终端190
7.6在ush中处理后台进程193
7.7作业控制197
7.8 ush的作业控制199
7.8.1作业列表对象199
7.8.2 ush的作业列表200
7.8.3 ush中的作业控制201
7.9附加读物201
第三篇并 发203
第8章临界区和信号量203
8.1原子操作204
8.2信号量207
8.2.1 用TestAndSet实现信号量209
8.2.2无须“忙等待”信号量211
8.2.3 AND同步机制211
8.3 POSIX信号量213
8.3.2 POSIX信号量操作214
8.3.1无名信号量的初始化214
8.3.3有名信号量216
8.4系统V中的信号量217
8.4.1信号量集218
8.4.2信号量创建218
8.4.3系统V信号量操作220
8.4.4信号量控制225
8.4.5信号量状态227
8.5信号量和信号227
8.6练习:POSIX无名信号量228
8.7练习:POSIX有名信号量228
8.8练习:许可权管理229
8.9练习:系统V共享存储器230
8.9.1系统V共享存储器的综述230
8.9.2软管道实现的规格说明231
8.10练习:系统V消息队列233
8.11附加读物234
第9章POSIX线程235
9.1问题的引出:监视文件描述符236
9.1.1简单轮询236
9.1.2消除忙等的异步I/O238
9.1.3使用select来消除忙等240
9.1.4使用poll来消除忙等241
9.1.5多线程242
9.2 POSIX线程245
9.3基本线程管理246
9.4用户线程与内核线程252
9.5线程属性254
9.6练习:并行文件拷贝256
9.7附加读物257
第10章线程同步258
10.1互斥259
10.2信号量263
10.3条件变量267
10.4信号处理和线程273
10.5练习:线程化打印服务280
10.6附加读物283
第11章工程:简化的并行虚拟机284
11.1简化的并行虚拟机285
11.2 NTPVM工程概貌286
11.2.1 START_TASK包288
11.2.2 DATA包289
11.2.3 DONE包289
11.3分派程序的I/O和测试290
11.4无输入的单任务296
11.5顺序任务297
11.5.1版本A:非线程分派程序的实现297
11.5.2版本B:线程分派程序的实现298
11.6.1 版本A:用select和poll来实现300
11.6并发任务300
11.6.2版本B:用线程来实现301
11.7 广播和BARRIER301
11.8Terminate和Signals302
11.9附加读物302
第四篇通信303
第12章客户机/服务器通信303
12.1客户机/服务器策略303
12.2通用Internet通信接口306
12.2.1 UICI服务器308
12.2.2 UICI客户机310
12.2.3 UICI实现312
12.3网络通信313
12.4 UICI的套接口实现314
12.5传输层接口319
12.6流324
12.7 UICI的流实现328
12.8 UICI的线程安全330
12.9练习:音频传输333
12.10练习:Ping服务器334
12.11附加读物335
第13章工程:Internet广播336
13.1多路传输概述336
13.2单向通信337
13.3双向通信338
13.4传输缓冲区339
13.5多路传输缓冲区341
13.6网络接收器342
13.7 收听与关闭343
13.8网络广播者343
13.10附加读物344
13.9信号处理344
第14章远程过程调用345
14.1基本操作345
14.2将简单局域调用转换为RPC349
14.3改进的远程伪随机数服务357
14.4服务状态与有效请求361
14.5远程有效文件服务365
14.6联编与命名服务368
14.7失败369
14.8 NFS——网络文件系统370
14.9线程与远程过程调用374
14.10练习:无状态文件服务377
14.11附加读物378
第15章工程:元组空间379
15.1 Linda语言380
15.2 Richard:一种简化的Linda语言382
15.3.1元组数据结构384
15.3简单的Richard元组空间384
15.3.2表示元组空间385
15.3.3元组空间操作386
15.3.4转换为远程服务器387
15.4黑板:一个元组空间应用390
15.4.1 n皇后问题390
15.4.2贪婪回溯算法393
15.4.3黑板与agent395
15.5 Richard中的活动元组395
15.5.1简化的设计395
15.5.2与eval的通信397
15.6以元组空间作为Richard中的元组399
15.7 Richard多线程服务器402
15.8附加读物403
附录A UNIX基础405
A.1获得帮助405
第五篇附录405
A.1.1系统调用与C库函数407
A.1.2 UNIX命令与实用程序408
A.1.3与man相关的命令410
A.2编译410
A.3 Makefiles411
A.4头文件413
A.5链接与库414
A.6调试帮助415
A.7用户环境417
A.8附加读物419
附录B UICI实现420
B.1 UICI原型420
B.2 Socket实现420
B.3 TLI实现428
B.4流实现433
B.5线程安全UICI实现438