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

UNIX网络编程 卷2 进程间通信(第2版) 下载 mobi epub pdf 电子书 2024


简体网页||繁体网页
[美] W.理查德·史蒂文斯(W.Richard Stevens) 著

下载链接在页面底部
点击这里下载
    


想要找书就要到 新城书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

发表于2024-11-26

图书介绍


出版社: 人民邮电出版社
ISBN:9787115367204
版次:2
商品编码:11728727
品牌:异步图书
包装:平装
开本:16开
出版时间:2015-08-01
用纸:胶版纸
页数:472
字数:778000


类似图书 点击查看全场最低价

相关图书





图书描述

编辑推荐

两卷本的《UNIX网络编程》是已故著名技术作家W. Richard Stevens的传世之作。卷2着重讨论如何让应用程序与在其他机器上的应用程序进行对话。
良好的进程间通信(IPC)机制是提高UNIX程序性能的关键。《UNIX网络编程 卷2 进程间通信(第2版)》全面深入地讲解了各种进程间通信形式,包括消息传递、同步、共享内存及远程过程调用(RPC)。书中包含了大量经过优化的源代码,帮助读者加深理解。这些源代码可以从本书网站下载。
《UNIX网络编程 卷2 进程间通信(第2版)》是网络研究和开发人员公认的专业参考书,无论网络编程的初学者还是网络专家都会大受裨益。

内容简介

《UNIX网络编程 卷2 进程间通信(第2版)》是一部UNIX 网络编程的经典之作!进程间通信(IPC)几乎是所有Unix 程序性能的关键,理解IPC 也是理解如何开发不同主机间网络应用程序的必要条件。本书从对Posix IPC 和System V IPC 的内部结构开始讨论,全面深入地介绍了4 种IPC 形式:消息传递(管道、FIFO、消息队列)、同步(互斥锁、条件变量、读写锁、文件与记录锁、信号量)、共享内存(匿名共享内存、具名共享内存)及远程过程调用(Solaris门、Sun RPC)。附录中给出了测量各种IPC 形式性能的方法。
《UNIX网络编程 卷2 进程间通信(第2版)》内容详尽且具专业性,几乎每章都提供精选的习题,并提供了部分习题的答案,是网络研究和开发人员理想的参考书。

作者简介

W. Richard Stevens (1951-1999)是国际知名的Unix和网络专家;受人尊敬的计算机图书作家;同时他还是广受欢迎的教师和顾问。Stevens先生1951年生于赞比亚,他的家庭曾多次搬迁,最终定居于南非。早年,他就读于美国弗吉尼亚州的费什本军事学校,后获得密歇根大学学士、亚利桑那大学系统工程硕士和博士学位。他曾就职于基特峰国家天文台,从事计算机编程;还曾在康涅狄格州纽黑文市的健康系统国际公司任主管计算机服务的副总裁。国际知名的Unix和网络专家,《TCP/IP 详解》(三卷本)、《UNIX网络编程》(两卷本)以及《UNIX环境高级编程》的作者。

精彩书评

“强烈怀念W. Richard Stevens……他的书都写得非常非常好,与同类主题的其他书相比,他的书更注重理解核心概念和基本原理,这使得这本书在出版15年之后,仍然非常有用——这几乎是一本长盛不衰的计算机科学书!”
——Ricardo

“我做专业程序员已经二十余年了,每当要写新程序的时候,我都要参考这本书。Stevens的书是我进入VoIP和音频CODEC网络编程领域的敲门砖。”
——C. T. Vanderdecken

“在我做过的项目中,已经记不清楚有多少次靠这套书力挽狂澜……每位真正的UNIX系统程序员都应该买一套。”
——David Sharpe

“对每位UNIX平台的程序员而言,这本书都是必备的。它深入阐释了UNIX平台上的各种IPC API。既涵盖System V也涉及POSIX标准,对于IPC的论述无可匹敌。书末的附录对各种管道、FIFO、POSIX消息队列、System V消息队列、门、Sun RPC的性能进行了比较,我从来没有看到哪本书如此广泛而深入地介绍这一主题。更何况,它出自专业人物之手。”
——asingh

“Stevens是UINX网络编程的‘神’,至少是我的‘神’。”
——Matthew MacGibbon

目录

第一部分 简介
第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

精彩书摘

  检查队列是否填满   39~48 如果调用者指定的队列已填满,但是o_NONBLOCK标志已设置,我们就返回一个EAGAIN错误。否则,我们等待在条件变量mqh_wait上,该条件变量由我们的mq_receive函数在从某个填满的队列中读出一个消息时发给信号。   就mq_send调用在被某个由其调用进程捕获的信号中断时返回一个EINTR错误而言,我们的实现简化了。问题在于当信号处理程序返回时,pthread_cond_wait并不返回一个错误:它可能返回一个为0的值(这看来是次虚假的唤醒),也可能根本不返回。绕过这一问题的方法确实存在,但每种方法都不简单。   图5—30给出了mq_send函数的后半部分。至此我们已知道调用者指定的队列中有写入新消息的空间。   取得待用空闲块的索引   50~52 既然在调用者指定的队列初始化时创建的空闲消息数等于mq_maxmsg,我们就不应该有在空闲链表为空的前提下mq_curmsgs小于mq_maxmsg的状态。   复制消息   53~56 nmsghdr含有所映射内存区中用于存放待写入消息的位置的地址。该消息的优先级和长度存放在它的msg_hdr结构中,其内容则从调用者空间复制。   把新消息置于链表中正确位置   57~74 我们的链表中各消息的顺序是从开始处(mqh_head)的最高优先级到结束处的最低优先级。当一个新消息加入调用者指定的队列中,并且一个或多个同样优先级的消息已在该队列中时,这个新消息就加在最后一个优先级相同的消息之后。使用这样的排序方式后,mq_receive总是返回链表中的第一个消息(它是该队列上优先级最高的最早的消息)。当我们沿链表行进时,pmsghdr将含有链表中上一个消息的地址,因为它的msg_next值将含有该新消息的索引。  ……

前言/序言


UNIX网络编程 卷2 进程间通信(第2版) 下载 mobi epub pdf txt 电子书 格式

UNIX网络编程 卷2 进程间通信(第2版) mobi 下载 pdf 下载 pub 下载 txt 电子书 下载 2024

UNIX网络编程 卷2 进程间通信(第2版) 下载 mobi pdf epub txt 电子书 格式 2024

UNIX网络编程 卷2 进程间通信(第2版) 下载 mobi epub pdf 电子书
想要找书就要到 新城书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

用户评价

评分

书不错,一直想买,趁着618满减买的,但是快递实在是无力吐槽,上千件快递不分类不标记,让人自己去找,几本书分了两个包,大热天在快递堆里找了半个多小时,只能说这样搞实在太浪费大家的时间了。

评分

W. Richard Stevens(1951—1999),国际知名的UNIX和网络专家,备受赞誉的技术作家。生前著有《TCP/IP详解》(三卷)、《UNIX环境高级编程》和《UNIX网络编程》(两卷),均为不朽的经典著作。

评分

包装完美,有塑封。

评分

很不错,非常好,很好,很超值

评分

有点薄,但很好,我喜欢,纸质也很好。

评分

和卷一一起买的,非常棒的购书体验。书自然没得说,想买很久了。用小纸箱包装很好保护了书,很意外。京东快递小哥双手递过快递,受宠若惊?

评分

评分

工作之初接触过一点unix编程,这本书和当时的文档相比更加详细完整,准备学习。

评分

我家先生在京东买了一柜子的书了,京东的书质量还是不错的,售后退货也特别快,物流也特别快,给京东的售后点赞。

类似图书 点击查看全场最低价

UNIX网络编程 卷2 进程间通信(第2版) mobi epub pdf txt 电子书 格式下载 2024


分享链接




相关图书


本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

友情链接

© 2024 book.cndgn.com All Rights Reserved. 新城书站 版权所有