登录 注册
当前位置:主页 > 资源下载 > \"UNIX网络编程第二卷:进程间通信\

\"UNIX网络编程第二卷:进程间通信\

  • 更新:2024-05-31 08:25: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 多个生产者,多个消费者 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   第四部分 共享内存区   第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   第五部分 远程过程调用   第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