成功加入购物车
[美] 史蒂文斯 著 / 人民邮电出版社 / 2009-11 / 平装
售价 ¥ 25.00 2.8折
定价 ¥89.00
品相 九五品
上书时间2021-02-12
UNIX网络编程 卷2:进程间通信
《UNIX网络编程卷2:进程间通信(英文版·第2版)》是一部UNIX网络编程的经典之作。进程间通信(IPC)几乎是所有Unix程序性能的关键,理解IPC也是理解如何开发不同主机间网络应用程序的必要条件。《UNIX网络编程卷2:进程间通信(英文版·第2版)》从对PosixIPC和SystemVIPC的内部结构开始讨论,全面深入地介绍了4种IPC形式:消息传递(管道、FIFO、消息队列)、同步(互斥锁、条件变量、读写锁、文件与记录锁、信号量)、共享内存(匿名共享内存、具名共享内存)及远程过程调用(Solaris门、SunRPC)。附录中给出了测量各种IPC形式性能的方法。
《UNIX网络编程卷2:进程间通信(英文版·第2版)》内容详尽且具权威性,几乎每章都提供精选的习题,并提供了部分习题的答案,是网络研究和开发人员理想的参考书。
W.RicharqdStevens,国际知名的LINIX和网络专家,备受赞誉的技术作家。他1951年2月5日出生于赞比亚,后随父母回到美国。中学时就读于弗吉尼亚菲什伯恩军事学校,1973年获得密歇根大学航空和航天工程学士学位。1975年至1982年,他在亚利桑那州图森市的基特峰国家天文合从事计算机编程工作,业余时间喜爱飞行运动,做过兼职飞行教练。这期间他分别在1978年和1982年获得亚利桑那大学系统工程硕士和博士学位。此后他去康涅狄格州纽黑文的健康系统国际公司任主管计算机服务的副总裁。1990年他回到图森,从事专业技术写作和咨询工作。写下了多种经典的传世之作,包括《TCP/IP详解》(三卷)、《UNIX环境高级编程》和《UNIX网络编程》(两卷)。Steverls于1999年9月1日去世,年仅48岁。2000年他被国际权威机构USENIX追授“终身成就奖”。
Part1Introduction1简介Chapter1Introduction3简介1.1Introduction3概述1.2Processes,Threads,andtheSharingofInformation5进程、线程与信息共享1.3PersistenceofIPCObjects6IPC对象的持续性1.4NameSpaces7名字空间1.5Effectoffork,exec,andexitonIPCObjects9fork、exec和exit对IPC对象的影响1.6ErrorHandling:WrapperFunctions11错误处理:包装函数1.7UnixStandards13Unix标准1.8RoadMaptoIPCExamplesintheText15本书中IPC示例的路线图1.9Summary16小结Chapter2PosixIPC192.1Introduction19概述2.2IPCNames19IPC名字2.3CreatingandOpeningIPCChannels22创建与打开IPC通道2.4IPCPermissions25IPC权限2.5Summary26小结Chapter3SystemVIPC273.1Introduction27概述3.2key_tKeysandftokFunction28key_t键和ftok函数3.3ipc_permStructure30ipc_perm结构3.4CreatingandOpeningIPCChannels30创建与打开IPC通道3.5IPCPermissions32IPC权限3.6IdentifierReuse34标识符重用3.7ipcsandipcrmPrograms36ipcs和ipcrm程序3.8KernelLimits36内核限制3.9Summary38小结Part2MessagePassing41消息传递Chapter4PipesandFIFOs43管道和FIFO4.1Introduction43概述4.2ASimpleClient-ServerExample43一个简单的客户-服务器示例4.3Pipes44管道4.4Full-DuplexPipes50全双工管道4.5popenandpcloseFunctions52popen和pclose函数4.6FIFOs544.7AdditionalPropertiesofPipesandFIFOs58管道和FIFO的额外属性4.8OneServer,MultipleClients60单服务器,多客户4.9IterativeversusConcurrentServers66迭代服务器与并发服务器的比较4.10StreamsandMessages67流与消息4.11PipeandFIFOLimits72管道和FIFO限制4.12Summary73小结Chapter5PosixMessageQueues75Posix消息队列5.1Introduction75概述5.2mq_open,mq_close,andmq_unlinkFunctions76mq_open、mq_close和mq_unlink函数5.3mq_getattrandmq_setattrFunctions79mq_getattr和mq_setattr函数5.4mq_sendandmq_receiveFunctions82mq_send和mq_receive函数5.5MessageQueueLimits86消息队列限制5.6mq_notifyFunction87mq_notify函数5.7PosixRealtimeSignals98Posix实时信号5.8ImplementationUsingMemory-MappedI/O106使用内存映射I/O实现5.9Summary126小结Chapter6SystemVMessageQueues129SystemV消息队列6.1Introduction129概述6.2msggetFunction130msgget函数6.3msgsndFunction131msgsnd函数6.4msgrcvFunction132msgrcv函数6.5msgctlFunction134msgctl函数6.6SimplePrograms135简单的程序6.7Client-ServerExample140客户-服务器示例6.8MultiplexingMessages142多路复用消息6.9MessageQueueswithselectandpoll151消息队列上使用select和poll6.10MessageQueueLimits152消息队列限制6.11Summary155小结Part3Synchronization157同步Chapter7MutexesandConditionVariables159互斥锁和条件变量7.1Introduction159概述7.2Mutexes:LockingandUnlocking159互斥锁:加锁与解锁7.3Producer-ConsumerProblem161生产者消费者问题7.4LockingversusWaiting165加锁与等待7.5ConditionVariables:WaitingandSignaling167条件变量:等待与信号发送7.6ConditionVariables:TimedWaitsandBroadcasts171条件变量:定时等待和广播7.7MutexesandConditionVariableAttributes172互斥锁和条件变量的属性7.8Summary174小结Chapter8Read-WriteLocks177读写锁8.1Introduction177概述8.2ObtainingandReleasingRead-WriteLocks178获取与释放读写锁8.3Read-WriteLockAttributes179读写锁属性8.4ImplementationUsingMutexesandConditionVariables179使用互斥锁和条件变量实现8.5ThreadCancellation187线程取消8.6Summary192小结Chapter9RecordLocking193记录加锁9.1Introduction193概述9.2RecordLockingversusFileLocking197记录加锁与文件加锁9.3PosixfcntlRecordLocking199Posixfcntl记录加锁9.4AdvisoryLocking203劝告性加锁9.5MandatoryLocking204强制性加锁9.6PrioritiesofReadersandWriters207读出者和写入者的优先级9.7StartingOnlyOneCopyofaDaemon213只启动守护进程的一个副本9.8LockFiles214锁文件9.9NFSLocking216NFS加锁9.10Summary216小结Chapter10PosixSemaphores219Posix信号量10.1Introduction219概述10.2sem_open,sem_close,andsem_unlinkFunctions225sem_open、sem_close和sem_unlink函数10.3sem_waitandsem_trywaitFunctions226sem_wait和sem_trywait函数10.4sem_postandsem_getvalueFunctions227sem_post和sem_getvalue函数10.5SimplePrograms228简单的程序10.6Producer-ConsumerProblem233生产者-消费者问题10.7FileLocking238文件加锁10.8sem_initandsem_destroyFunctions238sem_init和sem_destroy函数10.9MultipleProducers,OneConsumer242多生产者,单消费者10.10MultipleProducers,MultipleConsumers245多生产者,多消费者10.11MultipleBuffers249多缓冲区10.12SharingSemaphoresbetweenProcesses256进程间共享信号量10.13SemaphoreLimits257信号量限制10.14ImplementationUsingFIFOs257使用FIFO实现10.15ImplementationUsingMemory-MappedI/O262使用内存映射I/O实现10.16ImplementationUsingSystemVSemaphores271使用SystemV信号量实现10.17Summary278小结Chapter11SystemVSemaphores281SystemV信号量11.1Introduction281概述11.2semgetFunction282semget函数11.3semopFunction285semop函数11.4semctlFunction287semctl函数11.5SimplePrograms289简单的程序11.6FileLocking294文件加锁11.7SemaphoreLimits296信号量限制11.8Summary300小结Part4SharedMemory301共享内存Chapter12SharedMemoryIntroduction303共享内存简介12.1Introduction303概述12.2mmap,munmap,andmsyncFunctions307mmap、munmap和msync函数12.3IncrementCounterinaMemory-MappedFile311内存映射文件中的计数器递加12.44.4BSDAnonymousMemoryMapping3154.4BSD匿名内存映射12.5SVR4/dev/zeroMemoryMapping316SVR4/dev/zero内存映射12.6ReferencingMemory-MappedObjects317引用内存映射的对象12.7Summary322小结Chapter13PosixSharedMemory325Posix共享内存13.1Introduction325概述13.2shm_openandshm_unlinkFunctions326shm_open和shm_unlink函数13.3ftruncateandfstatFunctions327ftruncate和fstat函数13.4SimplePrograms328简单的程序13.5IncrementingaSharedCounter333共享计数器递加13.6SendingMessagestoaServer336向服务器发送消息13.7Summary342小结Chapter14SystemVSharedMemory343SystemV共享内存14.1Introduction343概述14.2shmgetFunction343shmget函数14.3shmatFunction344shmat函数14.4shmdtFunction345shmdt函数14.5shmctlFunction345shmctl函数14.6SimplePrograms346简单的程序14.7SharedMemoryLimits349共享内存限制14.8Summary351小结Part5RemoteProcedureCalls353远程过程调用Chapter15Doors355门15.1Introduction355概述15.2door_callFunction361door_call函数15.3door_createFunction363door_create函数15.4door_returnFunction364door_return函数15.5door_credFunction365door_cred函数15.6door_infoFunction365door_info函数15.7Examples366示例15.8DescriptorPassing379描述符传递15.9door_server_createFunction384door_server_create函数15.10door_bind,door_unbind,anddoor_revokeFunctions390door_bind、door_unbind和door_revoke函数15.11PrematureTerminationofClientorServer390客户或服务器的过早终止15.12Summary397小结Chapter16SunRPC39916.1Introduction399概述16.2Multithreading407多线程技术16.3ServerBinding411服务器绑定16.4Authentication414鉴别16.5TimeoutandRetransmission417超时和重传16.6CallSemantics422调用语义16.7PrematureTerminationofClientorServer424客户或服务器的过早终止16.8XDR:ExternalDataRepresentation426XDR:外部数据表示16.9RPCPacketFormats444RPC分组格式16.10Summary449小结Epilogue453后记AppendixAPerformanceMeasurements457性能测量A.1Introduction457概述A.2Results458结果A.3MessagePassingBandwidthPrograms467消息传递带宽程序A.4MessagePassingLatencyPrograms480消息传递延迟程序A.5ThreadSynchronizationPrograms486线程同步程序A.6ProcessSynchronizationPrograms497进程同步程序AppendixBAThreadsPrimer501线程入门B.1Introduction501概述B.2BasicThreadFunctions:CreationandTermination502基本线程函数:创建和终止AppendixCMiscellaneousSourceCode505其他源代码C.1unpipc.hHeader505unpipc.h头文件C.2config.hHeader509config.h头文件C.3StandardErrorFunctions510标准错误处理函数AppendixDSolutionstoSelectedExercises515精选习题答案Bibliography535参考文献Index539索引
展开全部
配送说明
...
相似商品
为你推荐
开播时间:09月02日 10:30