UNIX网络编程 卷2:进程间通信(第2版)

UNIX网络编程 卷2:进程间通信(第2版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (W.Richard Stevens)
2015-08
版次: 2
ISBN: 9787115367204
定价: 89.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 472页
字数: 778千字
正文语种: 简体中文
原版书名: UNIX Network Programming,Volume 2:Interprocess Communications,2nd Edition
321人买过
  • 《UNIX网络编程卷2进程间通信(第2版)》是一部UNIX网络编程的经典之作!进程间通信(IPC)几乎是所有Unix程序性能的关键,理解IPC也是理解如何开发不同主机间网络应用程序的必要条件。本书从对PosixIPC和SystemVIPC的内部结构开始讨论,全面深入地介绍了4种IPC形式:消息传递(管道、FIFO、消息队列)、同步(互斥锁、条件变量、读写锁、文件与记录锁、信号量)、共享内存(匿名共享内存、具名共享内存)及远程过程调用(Solaris门、SunRPC)。附录中给出了测量各种IPC形式性能的方法。
    《UNIX网络编程卷2进程间通信(第2版)》内容详尽且具专业性,几乎每章都提供精选的习题,并提供了部分习题的答案,是网络研究和开发人员理想的参考书。 W.RichardStevens(1951-1999)是国际知名的Unix和网络专家;受人尊敬的计算机图书作家;同时他还是广受欢迎的教师和顾问。Stevens先生1951年生于赞比亚,他的家庭曾多次搬迁,最终定居于南非。早年,他就读于美国弗吉尼亚州的费什本军事学校,后获得密歇根大学学士、亚利桑那大学系统工程硕士和博士学位。他曾就职于基特峰国家天文台,从事计算机编程;还曾在康涅狄格州纽黑文市的健康系统国际公司任主管计算机服务的副总裁。国际知名的Unix和网络专家,《TCP/IP详解》(三卷本)、《UNIX网络编程》(两卷本)以及《UNIX环境高级编程》的作者。 第一部分 简介
    第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
  • 内容简介:
    《UNIX网络编程卷2进程间通信(第2版)》是一部UNIX网络编程的经典之作!进程间通信(IPC)几乎是所有Unix程序性能的关键,理解IPC也是理解如何开发不同主机间网络应用程序的必要条件。本书从对PosixIPC和SystemVIPC的内部结构开始讨论,全面深入地介绍了4种IPC形式:消息传递(管道、FIFO、消息队列)、同步(互斥锁、条件变量、读写锁、文件与记录锁、信号量)、共享内存(匿名共享内存、具名共享内存)及远程过程调用(Solaris门、SunRPC)。附录中给出了测量各种IPC形式性能的方法。
    《UNIX网络编程卷2进程间通信(第2版)》内容详尽且具专业性,几乎每章都提供精选的习题,并提供了部分习题的答案,是网络研究和开发人员理想的参考书。
  • 作者简介:
    W.RichardStevens(1951-1999)是国际知名的Unix和网络专家;受人尊敬的计算机图书作家;同时他还是广受欢迎的教师和顾问。Stevens先生1951年生于赞比亚,他的家庭曾多次搬迁,最终定居于南非。早年,他就读于美国弗吉尼亚州的费什本军事学校,后获得密歇根大学学士、亚利桑那大学系统工程硕士和博士学位。他曾就职于基特峰国家天文台,从事计算机编程;还曾在康涅狄格州纽黑文市的健康系统国际公司任主管计算机服务的副总裁。国际知名的Unix和网络专家,《TCP/IP详解》(三卷本)、《UNIX网络编程》(两卷本)以及《UNIX环境高级编程》的作者。
  • 目录:
    第一部分 简介
    第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
查看详情
12
相关图书 / 更多
UNIX网络编程 卷2:进程间通信(第2版)
UNDERORDERS.
Dick Francis 著
UNIX网络编程 卷2:进程间通信(第2版)
UNIX网络编程卷2进程间通信第2版
[美]W.理查德·史蒂文斯(W.Richard Stevens) 著
UNIX网络编程 卷2:进程间通信(第2版)
UNIX xv6内核源码深入剖析
高联雄
UNIX网络编程 卷2:进程间通信(第2版)
UN维和步兵营
王昆 著
UNIX网络编程 卷2:进程间通信(第2版)
UNIX/Linux系统管理技术手册(第5版)
[美]埃薇·内梅特(Evi Nemeth)、加思·斯奈德(Garth Snyder)、特伦特·R.海恩本·惠利(Trent,R.Hein) 译
UNIX网络编程 卷2:进程间通信(第2版)
UNIX环境高级编程第3版英文版上下册
[美]W.理查德·史蒂文斯(W.、Richard、Stevens)史蒂芬·A.、拉戈(StephenA.Rago) 著
UNIX网络编程 卷2:进程间通信(第2版)
UNESCO与中国教育:中国国际教育发展报告(2021)
四川外国语大学国际教育学院
UNIX网络编程 卷2:进程间通信(第2版)
UNICEF (United Nations Children's Fund): Global Governance That Works
Richard Jolly
UNIX网络编程 卷2:进程间通信(第2版)
UNIX环境高级编程第3版
拉戈( 著;[美]W.、理查德·史蒂文斯(W.、Richard、Stevens)史蒂芬·A.、戚正伟、张亚英、尤晋元 译
UNIX网络编程 卷2:进程间通信(第2版)
UNITY应用开发实战案例
程明智
UNIX网络编程 卷2:进程间通信(第2版)
UNIX传奇:历史与回忆
[美]布莱恩·W.克尼汉(Brian W. Kernighan)
UNIX网络编程 卷2:进程间通信(第2版)
UNIX网络编程卷1套接字联网API第3版
[美]W.理查德·史蒂文斯(W.、Richard、Stevens)比尔·芬纳(比尔·芬纳(Bill,Fenner)、安德鲁·M. 著
您可能感兴趣 / 更多
UNIX网络编程 卷2:进程间通信(第2版)
宇宙视觉史:从宇宙大爆炸到时间的尽头
[美]查尔斯·刘 著;高爽 译者;[美]马克西姆· 马洛维奇科 绘;未读 出品
UNIX网络编程 卷2:进程间通信(第2版)
写出我心 普通人如何通过写作表达自己(平装本)
[美]娜塔莉·戈德堡(Natalie Goldberg)
UNIX网络编程 卷2:进程间通信(第2版)
写出我心3 写作疗愈的真正秘密
[美]娜塔莉·戈德堡(Natalie Goldberg)
UNIX网络编程 卷2:进程间通信(第2版)
神套路:为什么我们总被带节奏(狂热与网红时代醍醐灌顶之作,教给普通人安身立命的不二法门!)
[美]阿里·阿莫萨维 著;[哥伦比亚]亚历杭德罗·希拉尔多 绘
UNIX网络编程 卷2:进程间通信(第2版)
阿伦森自传
[美]埃利奥特·阿伦森(Elliot Aronson) 著;沈捷 译;湛庐文化 出品
UNIX网络编程 卷2:进程间通信(第2版)
街头官僚:公共服务中的个人困境(公共行政与公共管理经典译丛;“十二五”国家重点图书出版规划项目)
[美]迈克尔·李普斯基(Michael Lipsky)
UNIX网络编程 卷2:进程间通信(第2版)
所有治愈,都是自愈(人民日报、余华、罗翔倡导的人生态度,无论如何都要相信,真正能治愈你的只有自己)
[美]莎拉·佩顿 著;宋蕾 译;时代华语 出品
UNIX网络编程 卷2:进程间通信(第2版)
史前至蒙古帝国时期的内欧亚大陆史
[美]大卫·克里斯蒂安 著;潘玲 译;杨建华 校
UNIX网络编程 卷2:进程间通信(第2版)
自律我也能做到(全9册)
[美]康妮·科维尔·米勒 著;[阿根廷]维多利亚·阿萨纳利 绘
UNIX网络编程 卷2:进程间通信(第2版)
你在等什么?
[美]斯科特·明钦 著;[中]易万 译;[美]马特 ·斐兰 绘
UNIX网络编程 卷2:进程间通信(第2版)
UNIX网络编程卷2进程间通信第2版
[美]W.理查德·史蒂文斯(W.Richard Stevens) 著
UNIX网络编程 卷2:进程间通信(第2版)
TCP/IP详解 卷1 协议(英文版)
[美]W.理查德·史蒂文斯(W.Richard Stevens) 著