• UNIX网络编程
21年品牌 40万+商家 超1.5亿件商品

UNIX网络编程

10 1.1折 89 九五品

仅1件

四川成都
认证卖家担保交易快速发货售后保障

作者[美]史蒂文斯

出版社人民邮电出版社

ISBN9787115230287

出版时间2010-07

版次1

装帧平装

开本16开

纸张胶版纸

页数454页

字数99999千字

定价89元

上书时间2024-03-19

山頭斜照的书店

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:九五品
商品描述
基本信息
书名:UNIX网络编程
定价:89元
作者:[美]史蒂文斯
出版社:人民邮电出版社
出版日期:2010-07-01
ISBN:9787115230287
字数:830000
页码:454
版次:1
装帧:平装
开本:16开
商品重量:
编辑推荐
推荐购买本书套装:UNIX网络编程经典教科书套装——UNIX网络编程卷1:套接字联网API(第3版) UNIX网络编程卷2:进程间通信(第2版)(套装共2册)(超值附赠《码农》光盘1张)
内容提要
本书是一部UNIX网络编程的经典之作!进程间通信(IPC)几乎是所有Unix程序性能的关键,理解IPC也是理解如何开发不同主机间网络应用程序的必要条件。本书从对PosixIPC和System VIPC的内部结构开始讨论,全面深入地介绍了4种IPC形式:消息传递(管道、FIFO、消息队列)、同步(互斥锁、条件变量、读写锁、文件与记录锁、信号量)、共享内存(匿名共享内存、具名共享内存)及远程过程调用(Solaris门、SunRPC)。附录中给出了测量各种IPC形式性能的方法。  本书内容详尽且具性,几乎每章都提供精选的习题,并提供了部分习题的答案,是网络研究和开发人员理想的参考书。
目录
部分 简介 章 简介 1.1 概述 1.2 进程、线程与信息共享 1.3 IPC对象的持续性 1.4 名字空间 1.5 fork、exec和et对IPC对象的影响 1.6 出错处理:包裹函数 1.7 Unix标准 1.8 书中IPC例子索引表 1.9 小结 习题  第2章 Posix IPC 2.1 概述 2.2 IPC名字 2.3 创建与打开IPC通道 2.4 IPC权限 2.5 小结 习题  第3章 System V IPC 3.1 概述 3.2 key_t键和ftok函数 3.3 ipc_perm结构 3.4 创建与打开IPC通道 3.5 IPC权限 3.6 标识符重用 3.7 ipcs和ipcrm程序 3.8 内核限制 3.9 小结 习题 第二部分 消息传递 第4章 管道和FIFO 4.1 概述 4.2 一个简单的客户-服务器例子 4.3 管道 4.4 全双工管道 4.5 popen和pclose函数 4.6 FIFO 4.7 管道和FIFO的额外属性 4.8 单个服务器,多个客户 4.9 对比迭代服务器与并发服务器 4.10 字节流与消息 4.11 管道和FIFO限制 4.12 小结 习题  第5章 Posix消息队列 5.1 概述 5.2 mq_open、mq_close和mq_unlink函数 5.3 mq_getattr和mq_setattr函数 5.4 mq_send和mq_receive函数 5.5 消息队列限制 5.6 mq_notify函数 5.7 Posix实时信号 5.8 使用内存映射I/O实现Posix消息队列 5.9 小结 习题  第6章 System V消息队列 6.1 概述 6.2 msgget函数 6.3 msgsnd函数 6.4 msgrcv函数 6.5 msgctl函数 6.6 简单的程序 6.7 客户-服务器例子 6.8 复用消息 6.9 消息队列上使用select和poll 6.10 消息队列限制 6.11 小结 习题 第三部分 同步 第7章 互斥锁和条件变量 7.1 概述 7.2 互斥锁:上锁与解锁 7.3 生产者-消费者问题 7.4 对比上锁与等待 7.5 条件变量:等待与信号发送 7.6 条件变量:定时等待和广播 7.7 互斥锁和条件变量的属性 7.8 小结 习题  第8章 读写锁 8.1 概述 8.2 获取与释放读写锁 8.3 读写锁属性 8.4 使用互斥锁和条件变量实现读写锁 8.5 线程取消 8.6 小结 习题  第9章 记录上锁 9.1 概述 9.2 对比记录上锁与文件上锁 9.3 Posix fcntl记录上锁 9.4 劝告性上锁 9.5 强制性上锁 9.6 读出者和写入者的优先级 9.7 启动一个守护进程的副本 9.8 文件作锁用 9.9 NFS上锁 9.10 小结 习题  0章 Posix信号量 10.1 概述 10.2 sem_open、sem_close和sem_unlink函数 10.3 sem_wait和sem_trywait函数 10.4 sem_post和sem_getvalue函数 10.5 简单的程序 10.6 生产者-消费者问题 10.7 文件上锁 10.8 sem_init和sem_destroy函数 10.9 多个生产者,单个消费者 10.10 多个生产者,多个消费者 10.11 多个缓冲区 10.12 进程间共享信号量 10.13 信号量限制 10.14 使用FIFO实现信号量 10.15 使用内存映射I/O实现信号量 10.16 使用System V信号量实现Posix信号量 10.17 小结 习题  1章 System V信号量 11.1 概述 11.2 semget函数 11.3 semop函数 11.4 semctl函数 11.5 简单的程序 11.6 文件上锁 11.7 信号量限制 11.8 小结 习题 第四部分 共享内存区 2章 共享内存区介绍 12.1 概述 12.2 mmap、munmap和msync函数 12.3 在内存映射文件中给计数器持续加12.4 .4BSD匿名内存映射 12.5 SVR4/dev/zero内存映射 12.6 访问内存映射的对象 12.7 小结 习题  3章 Posix共享内存区 13.1 概述 13.2 shm_open和shm_unlink函数 13.3 ftruncate和fstat函数 13.4 简单的程序 13.5 给一个共享的计数器持续加13.6 向一个服务器发送消息 13.7 小结 习题  4章 System V共享内存区 14.1 概述 14.2 shmget函数 14.3 shmat函数 14.4 shmdt函数 14.5 shmctl函数 14.6 简单的程序 14.7 共享内存区限制 14.8 小结 习题 第五部分 远程过程调用 5章 门 15.1 概述 15.2 door_call函数 15.3 door_create函数 15.4 door_return函数 15.5 door_cred函数 15.6 door_info函数 15.7 例子 15.8 描述符传递 15.9 door_sever_create函数 15.10 door_bind、door_unbind和door_revoke函数 15.11 客户或服务器的过早终止 15.12 小结 习题  6章 Sun RPC 16.1 概述 16.2 多线程化 16.3 服务器捆绑 16.4 认证 16.5 超时和重传 16.6 调用语义 16.7 客户或服务器的过早终止 16.8 XDR:外部数据表示 16.9 RPC分组格式 16.10 小结 习题 后记 附录A 性能测量 附录B 线程入门 附录C 杂凑的源代码 附录D 精选习题解答 参考文献 索引 
作者介绍
即使一个进程终止时系统会自动释放某个锁,那也可能解决不了问题。该锁保护某个临界区很可能是为了在执行该临界区代码期间更新某个数据。如果该进程在执行该临界区的中途终止,该数据处于什么状态呢?该数据处于不一致状态的可能性很大:举例来说,一个新条目也许只是部分插入某个链表中,要是该进程终止时内核仅仅把那个锁解开的话,使用该链表的下一个进程就可能发现它已损坏。     然而在某些例子中,让内核在进程终止时清理某个锁(若是信号量情况则为计数器)不成问题。例如,某个服务器可能使用一个SystemV信号量(打开其SEM-UNDO特性)来统计当前被处理的客户数。每次fork一个子进程时,它就把该信号量加1,当该子进程终止时,它再把该信号量减1。如果该子进程非正常终止,内核仍会把该计数器减1。9.7节给出了一个例子,说明内核在什么时候释放一个锁(不是我们刚讲的计数器)合适。那儿的守护进程一开始就在自己的某个数据文件上获得一个写入锁,然后在其运行期间一直持有该锁。如果有人试图启动该守护进程的另一个副本,那么新的副本将因为无法取得该写入锁而终止,从而确保该守护进程只有一个副本在一直运行。但是如果该守护进程不正常地终止了,那么内核会释放该写入锁,从而允许启动该守护进程的另一个副本。    ……
序言

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP