您好,欢迎来到聚文网。 登录 免费注册
UNIX网络编程 卷2 进程间通信 第2版

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

  • 字数: 780
  • 装帧: 平装
  • 出版社: 人民邮电出版社
  • 作者: [美] W. 理查德·史蒂文斯(W. Richard Stevens)
  • 出版日期: 2018-02-01
  • 商品条码: 9787115517807
  • 版次: 3
  • 开本: 16开
  • 页数: 457
  • 出版年份: 2018
定价:¥109 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
编辑推荐
两卷本的《UNIX网络编程》是已故有名UNIX网络专家W. Richard Stevens的传世之作。卷2着重讨论如何让应用程序与在其他机器上的应用程序进行对话。本书接近重写并扩充了1990年版《UNIX网络编程》的第3章和第18章。字数统计表明,现在的内容是第1版的5倍。 良好的进程间通信(IPC)机制是提高UNIX程序性能的关键。本书全面深入地讲解了各种进程间通信形式,包括消息传递、同步、共享内存及远程过程调用(RPC)。书中包含了大量经过优化的源代码,帮助读者加深理解,这些源代码可以从本书网站下载。 本书是网络研究和开发人员公认的权-威参考书,无论网络编程的初学者还是网络专家都会大受裨益。
内容简介
本书是一部UNIX 网络编程的经典之作!进程间通信(IPC)几乎是所有Unix 程序性能的关键,理解IPC 也是理解如何开发不同主机间网络应用程序的必要条件。本书从对Posix IPC 和System V IPC 的内部结构开始讨论,全面深入地介绍了4 种IPC 形式:消息传递(管道、FIFO、消息队列)、同步(互斥锁、条件变量、读写锁、文件与记录锁、信号量)、共享内存(匿名共享内存、具名共享内存)及远程过程调用(Solaris门、Sun RPC)。附录中给出了测量各种IPC 形式性能的方法。 本书内容详尽且具权威性,几乎每章都提供精选的习题,并提供了部分习题的答案,是网络研究和开发人员理想的参考书。
作者简介
W. 理查德·史蒂文斯(W. Richard Stevens)国际知名的UNIX 和网络专家,备受赞誉的技术作家。他1951 年2 月5 日出生于赞比亚,后随父母回到美国。中学时就读于弗吉尼亚菲什伯恩军事学校,1973 年获得密歇根大学航空和航天工程学士学位。1975 年至1982 年,他在亚利桑那州图森市的基特峰国家天文台从事计算机编程工作,业余时间喜爱飞行运动,做过兼职飞行教练。这期间他分别在1978 年和1982 年获得亚利桑那大学系统工程硕士和博士学位。此后他去康涅狄格州纽黑文的健康系统国际公司任主管计算机服务的副总裁。1990 年他回到图森,从事专业技术写作和咨询工作。写下了多种经典的传世之作,包括《TCP/IP 详解》(三卷)、《UNIX 环境高级编程》和《UNIX网络编程》(两卷)。Stevens 于1999 年9 月1日去世,年仅48 岁。2000 年他被国际权威机构USENIX 追授“终身成就奖”。
目录
第 一部分  简介 第  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

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网