上传者: lengwuqin 
                                    |
                                    上传时间: 2020-01-19 03:05:14
                                    |
                                    文件大小: 42.17MB
                                    |
                                    文件类型: pdf
                                
                            
                                
                            
                                第一部分 简介
  第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
  第二部分 消息传递
  第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
  第三部分 同步
  第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 多个生产者,多个消费者 19