书籍 UNIX网络编程  卷2  进程间通信  第2版的封面

UNIX网络编程 卷2 进程间通信 第2版PDF电子书下载

杨海玲责任编辑;(美国)W.理查德·史蒂芬斯

购买点数

15

出版社

北京:人民邮电出版社

出版时间

2019

ISBN

标注页数

458 页

PDF页数

472 页

图书目录

第一部分 简介 2

第1章 简介 2

1.1概述 2

1.2进程、线程与信息共享 3

1.3 IPC对象的持续性 4

1.4名字空间 5

1.5 fork、 exec和exit对IPC对象的影响 7

1.6出错处理:包裹函数 8

1.7 Unix标准 9

1.8书中IPC例子索引表 11

1.9小结 13

习题 13

第2章 Posix IPC 14

2.1概述 14

2.2 IPC名字 14

2.3创建与打开IPC通道 16

2.4 IPC权限 18

2.5小结 19

习题 19

第3章 System V IPC 20

3.1概述 20

3.2 key_t键和ftok函数 20

3.3 ipc_perm结构 22

3.4创建与打开IPC通道 22

3.5 IPC权限 24

3.6标识符重用 25

3.7 ipcs和ipcrm程序 27

3.8内核限制 27

3.9小结 28

习题 29

第二部分 消息传递 32

第4章 管道和FIFO 32

4.1概述 32

4.2一个简单的客户-服务器例子 32

4.3管道 32

4.4全双工管道 37

4.5 popen和pclose函数 39

4.6 FIFO 40

4.7管道和FIFO的额外属性 44

4.8单个服务器,多个客户 46

4.9对比迭代服务器与并发服务器 50

4.10字节流与消息 51

4.11 管道和FIFO限制 55

4.12小结 56

习题 57

第5章 Posix消息队列 58

5.1概述 58

5.2 mq_open、 mq_close和mq_unlink函数 59

5.3 mq_getattr和mq_setattr函数 61

5.4 mq_send和mq_receive函数 64

5.5消息队列限制 67

5.6 mq_notify函数 68

5.7 Posix实时信号 78

5.8使用内存映射I/O实现Posix消息队列 85

5.9小结 101

习题 101

第6章 System V消息队列 103

6.1概述 103

6.2 msgget函数 104

6.3 msgsnd函数 104

6.4 msgrcv函数 105

6.5 msgctl函数 106

6.6简单的程序 107

6.7客户-服务器例子 112

6.8复用消息 113

6.9消息队列上使用select和poll 121

6.10消息队列限制 122

6.11小结 124

习题 124

第三部分 同步 126

第7章 互斥锁和条件变量 126

7.1概述 126

7.2互斥锁:上锁与解锁 126

7.3生产者-消费者问题 127

7.4对比上锁与等待 131

7.5条件变量:等待与信号发送 132

7.6条件变量:定时等待和广播 136

7.7互斥锁和条件变量的属性 136

7.8小结 139

习题 139

第8章 读写锁 140

8.1概述 140

8.2获取与释放读写锁 140

8.3读写锁属性 141

8.4使用互斥锁和条件变量实现读写锁 142

8.5线程取消 148

8.6小结 153

习题 153

第9章 记录上锁 154

9.1概述 154

9.2对比记录上锁与文件上锁 157

9.3 Posix fcntl记录上锁 158

9.4劝告性上锁 162

9.5强制性上锁 164

9.6读出者和写入者的优先级 166

9.7启动一个守护进程的唯一副本 170

9.8 文件作锁用 171

9.9 NFS上锁 173

9.10小结 173

习题 174

第10章 Posix信号量 175

10.1概述 175

10.2 sem_open、sem_close和sem_unlink函数 179

10.3 sem_wait和sem_trywait函数 180

10.4 sem_post和sem_getvalue函数 180

10.5简单的程序 181

10.6生产者-消费者问题 186

10.7文件上锁 190

10.8 sem_init和sem_destroy函数 191

10.9多个生产者,单个消费者 193

10.10多个生产者,多个消费者 196

10.11多个缓冲区 199

10.12进程间共享信号量 205

10.13信号量限制 206

10.14使用FIFO实现信号量 206

10.15使用内存映射I/O实现信号量 210

10.16使用System V信号量实现Posix信号量 218

10.17小结 224

习题 225

第11章 System V信号量 226

11.1概述 226

11.2 semget函数 227

11.3 semop函数 229

11.4 semctl函数 231

11.5简单的程序 232

11.6文件上锁 237

11.7信号量限制 238

11.8小结 242

习题 242

第四部分 共享内存区 244

第12章 共享内存区介绍 244

12.1概述 244

12.2 mmap、 munmap和msync函数 247

12.3在内存映射文件中给计数器持续加1 250

12.4 4.4BSD匿名内存映射 254

12.5 SVR4 /dev/zero内存映射 255

12.6访问内存映射的对象 255

12.7小结 259

习题 260

第13章 Posix共享内存区 261

13.1概述 261

13.2 shm_open和shm_unlink函数 261

13.3 ftruncate和fstat函数 262

13.4简单的程序 263

13.5给一个共享的计数器持续加1 267

13.6向一个服务器发送消息 270

13.7小结 275

习题 275

第14章 System V共享内存区 276

14.1概述 276

14.2 shmget函数 276

14.3 shmat函数 277

14.4 shmdt函数 277

14.5 shmctl函数 277

14.6简单的程序 278

14.7共享内存区限制 281

14.8小结 282

习题 283

第五部分 远程过程调用 286

第15章 门 286

15.1概述 286

15.2 door_call函数 291

15.3 door_create函数 292

15.4 door_return函数 293

15.5 door_cred函数 294

15.6 door_info函数 294

15.7例子 295

15.8描述符传递 306

15.9 door_sever_create函数 310

15.10 door_bind、door_unbind和door_revoke函数 315

15.11客户或服务器的过早终止 315

15.12小结 321

习题 322

第16章 Sun RPC 323

16.1概述 323

16.2多线程化 330

16.3服务器捆绑 333

16.4认证 336

16.5超时和重传 338

16.6调用语义 342

16.7客户或服务器的过早终止 343

16.8 XDR:外部数据表示 345

16.9 RPC分组格式 361

16.10小结 365

习题 366

后记 368

附录A性能测量 371

附录B线程入门 406

附录C杂凑的源代码 409

附录D精选习题解答 417

参考文献 433

索引 435

查看更多关于的内容

本类热门
在线购买PDF电子书
下载此书RAR压缩包