注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)操作系統(tǒng)UNIXUNIX網(wǎng)絡(luò)編程:第2版(第2卷 進(jìn)程間通信)

UNIX網(wǎng)絡(luò)編程:第2版(第2卷 進(jìn)程間通信)

UNIX網(wǎng)絡(luò)編程:第2版(第2卷 進(jìn)程間通信)

定 價:¥58.00

作 者: (美)[W.R.史蒂文斯]W.Richard Stevens著;楊繼張譯
出版社: 清華大學(xué)出版社
叢編項: 北京科海培訓(xùn)中心圖書
標(biāo) 簽: UNIX

ISBN: 9787302038153 出版時間: 2000-03-01 包裝: 膠版紙
開本: 26cm 頁數(shù): 479 字?jǐn)?shù):  

內(nèi)容簡介

  多數(shù)精致復(fù)雜的程序涉及某種形式的IPC,也就是進(jìn)程間通信(InterprocessCommuni-cation)。它是一個程序設(shè)計原則的自然結(jié)果,即把應(yīng)用程序設(shè)計成一組彼此通信的小片段是比設(shè)計成單個龐大的程序更好的方法。從歷史上看,應(yīng)用程序設(shè)計方式按如下的順序漸次出現(xiàn):1.完成全部工作的單個龐大的程序。整個程序的各種片段可作為函數(shù)實現(xiàn),它們以函數(shù)參數(shù)、函數(shù)返回值及全局變量的形式彼此交換信息。2.使用某種形式的IPC彼此通信的多個程序。許多標(biāo)準(zhǔn)Unix工具就是以這種樣式設(shè)計的,它們使用shell管道(一種IPC形式)從一個程序向下一個程序傳遞信息。3.由使用某種形式的IPC彼此通信的多個程序構(gòu)成的單個程序。盡管這種通信發(fā)生在線程間而不是進(jìn)程間,我們?nèi)杂肐PC的說法來描述。把后兩種設(shè)計方式結(jié)合起來也是可能的:由多個進(jìn)程組成,每個進(jìn)程又由一個或多個線程構(gòu)成,其中涉及給定進(jìn)程內(nèi)各線程間的通信以及不同進(jìn)程間的通信。到此為止所描述的是把完成一個給定應(yīng)用所涉及的工作散布到多個進(jìn)程中,也許還散布到進(jìn)程內(nèi)的線程中。在含有多個處理器(CPU)的系統(tǒng)上,多個進(jìn)程可能(在不同的CPU上)同時運行,一個給定進(jìn)程的多個線程也可能同時運行。因此,把一個應(yīng)用的工作散布到多個進(jìn)程或線程中有可能減少該應(yīng)用完成給定任務(wù)的時間。本書具體敘述4種不同形式的IPC:1.消息傳遞(管道、FIFO、消息隊列)2.同步(互斥鎖、條件變量、讀寫鎖、文件與記錄鎖、信號燈)3.共享內(nèi)存區(qū)(匿名共享內(nèi)存區(qū)、有名共享內(nèi)存區(qū))4.遠(yuǎn)程過程調(diào)用(Solaris 門、Sun RPC)本書不討論通過計算機(jī)網(wǎng)絡(luò)通信的程序的編寫。這種通信形式通常涉及使用TCP/IP協(xié)議族的所謂的套接口API(應(yīng)用程序編程接口);這些主題在本叢書的第1卷[Stevens1998]中詳細(xì)討論。有人可能堅稱單臺主機(jī)內(nèi)的即不涉及網(wǎng)絡(luò)的IPC(正是本卷的主題)不應(yīng)該使用,相反,所有應(yīng)用程序都應(yīng)該編寫成通過網(wǎng)絡(luò)運行在各種主機(jī)的分布式應(yīng)用程序。然而實踐證明,單臺主機(jī)內(nèi)的IPC與穿越網(wǎng)絡(luò)的通信相比,前者往往快得多,有時還簡單些。諸如共享內(nèi)存區(qū)和同步這樣的技術(shù)通常只在單臺主機(jī)上可用,穿越網(wǎng)絡(luò)時可能沒法用。經(jīng)驗與歷史告訴我們,不涉及網(wǎng)絡(luò)的IPC(本卷)和穿越網(wǎng)絡(luò)的IPC(本叢書第1卷)都有用武之地。本書構(gòu)筑在同一套叢書第1卷以及作者的其他4本書的基礎(chǔ)之上,它們的書名在全書中縮寫如下:·UNPvl:UNIX Network Programming,Volume 1[Stevens 1998]·APUE:Advanced Programming in the UNIX Environment [Stevens 1992]TCPv1:TCP/IP Illustrated,VOlume 1[Stevens 1994]TCPv2:TCP/lP Illustrated,VOlume 2[Wright and Stevens 1995]TCPv3:TCP/IP Illustrated,Volume 3[Stevens 1996]盡管在以“網(wǎng)絡(luò)編程”為書名的叢書中討論IPC看起來可能奇怪,IPC卻往往用在網(wǎng)絡(luò)應(yīng)用程序中。這正如在“UNIX Network Programming” 1990年版的前言中所說:“理解如何給一個網(wǎng)絡(luò)開發(fā)軟件的必要條件之一是理解進(jìn)程間通信(IPC)”。

作者簡介

  作者:W.RichardStevens國際知名的Unix和網(wǎng)絡(luò)專家,《TCP/IP詳解》(三卷本)作者W.RichardStevens(1951-1999),是國際知名的Unix和網(wǎng)絡(luò)專家;受人尊敬的計算機(jī)圖書作家;同時他還是廣受歡迎的教師和顧問。Stevens先生1951年生于贊比亞,他的家庭曾多次搬遷,最終定居于南非。早年,他就讀于美國弗吉尼亞州的費什本軍事學(xué)校,后獲得密歇根大學(xué)學(xué)士、亞利桑那大學(xué)系統(tǒng)工程碩士和博士學(xué)位。他曾就職于基特峰國家天文臺,從事計算機(jī)編程;還曾在康涅狄格州紐黑文市的健康系統(tǒng)國際公司任主管計算機(jī)服務(wù)的副總裁。Stevens先生不幸病逝于1999年9月1日,他的離去是計算機(jī)界的巨大損失。UNIX環(huán)境高級編程(第2版)>>更多作品

圖書目錄

第I部分 簡介

第1章 簡介
1.1 概述
1.2 進(jìn)程、線程與信息共享
1.3 IPC對象的持續(xù)性
1.4 名字空間
1.5 fork、exec和exit對于IPC對象的影響
1.6 出錯處理:包裹函數(shù)
1.7 Unix標(biāo)準(zhǔn)
1.8 書中IPC例子索引表
1.9 小結(jié)
1.10 習(xí)題

第2章 Poslix IPC
2.1 概述
2 2 IPC名字
2.3 創(chuàng)建與打開IPC通道
2.4 IPC權(quán)限
2.5 小結(jié)
2.6 習(xí)題

第3章 System V IPC
3.1 概述
3.2 key-t鍵和 ftok函數(shù)
3.3 ipc-perm結(jié)構(gòu)
3.4 創(chuàng)建與打開IPC通道
3.5 IPC權(quán)限
3.6 標(biāo)識符重用
3.7 ipcs和ipcrm程序
3.8 內(nèi)核限制
3.9 小結(jié)
3.10 習(xí)題

第4章 管道和FIFO
4.l 概述
4.2 一個簡單的客戶一服務(wù)器例子
4.3 管道
4.4 全雙工管道
4.5 popen和pclose函數(shù)
4.6 FIFO
4.7 管道和FIFO的額外屬性
4.8 單個服務(wù)器,多個客戶
4.9 迭代服務(wù)器與并發(fā)服務(wù)器
4.10 字節(jié)流與消息
4.11 管道和 FIFO限制
4.12 小結(jié)
4.13 習(xí)題

第5章 Posix 消息隊列
5.l 概述
5.2 mq-open、mq-close和mq-unlink函數(shù)
5.3 mq-getattr和mq-Setattr函數(shù)
5.4 mq-send和mq-receive函數(shù)
5.5 消息隊列限制
5.6 mq-notify函數(shù)
5.7 Posix實時信號
5.8 使用內(nèi)存映射I/O實現(xiàn)Posix消息隊列
5.9 小結(jié)
5.10 習(xí)題

第6章 System V 消息隊列
6.1 概述
6.2 msgget 函數(shù)
6.3 msgsnd函數(shù)
6.4 msgrcv函數(shù)
6.5 msgctl函數(shù)
6.6 簡單的程序
6.7 客戶-服務(wù)器例子
6.8 復(fù)用消息
6.9 消息隊列上使用 select和 Poll
6.10 消息隊列限制
6.11 小結(jié)
6.12 習(xí)題

第3部分 同 步

第7章 互斥鎖和條件變目
7.1 概述
7.2 互斥鎖:上鎖與解鎖
7.3 生產(chǎn)者一消費者問題
7.4 上鎖與等待
7.5 條件變量:等待與信號發(fā)送
7.6 條件變量:定時等待和廣播
7.7 互斥鎖和條件變量的屬性
7.8 小結(jié)
7.9 習(xí)題

第8章 讀寫鎖
8.1 概述
8.2 獲取與釋放讀寫鎖
8.3 讀寫鎖屬性
8.4 使用互斥鎖和條件變量實現(xiàn)讀寫鎖
8.5 線程取消
8.6 小結(jié)
8.7 習(xí)題

第9章 記錄上鎖
9.1 概述
9.2 記錄上鎖與文件上鎖
9.3 Posix fcntl記錄上鎖
9.4 勸告性鎖
9.5 強(qiáng)制性上鎖
9.6 讀出者和寫入者的優(yōu)先級
9.7 啟動一個守護(hù)進(jìn)程的唯一拷貝
9.8 文件作鎖用
9.9 NFS上鎖
9.10 小結(jié);
9.11 習(xí)題;

第10章 posix 信號燈
10.1 概述
10.2 sem-open、 sem-close和 sem- unlink函數(shù)
10.3 sem-walt和 sem-trywait函數(shù)
10.4 sem-post 和 semgetvalue 函數(shù)
10.5 簡單的程序
10.6 生產(chǎn)者-消費者問題
10.7 文件上鎖
10.8 sem-Inlt和 sem-destroy函數(shù)
10.9 多個生產(chǎn)者,單個消費者
10.10 多個生產(chǎn)者,多個消費者
10.11 多個緩沖區(qū)
10.12 進(jìn)程間共車信號燈
10.13 信號燈限制
10.14 使用 FIFO實現(xiàn)信號燈
10.15 使用內(nèi)存映射1/O實現(xiàn)信號燈
10.16 使用 System V信號燈實現(xiàn) Posix信號燈
10.17 小結(jié)
10.18 習(xí)題

第11章 System V信號燈
11.1 概述
11.2 emget函數(shù)
11.3 semop函數(shù)
11.4 semctl函數(shù)
11.5 簡單的程序
11.6 文件上鎖
11.7 信號燈限制
11.8 小結(jié)
11.9 習(xí)題

第4部分 共享內(nèi)存區(qū)

第12章 共享內(nèi)存區(qū)介紹
12.1 概述
12.2 mmap、munmap和 msync函數(shù)
12.3 在內(nèi)存映射文件中給計數(shù)器持續(xù)加1
12.4 4.4BSD匿名內(nèi)存映射
12.5 SVR4/dev/zero內(nèi)存映射
12.6 訪問內(nèi)存映射的對象
12.7 小結(jié)
13.3 ftruncate和 fstat函數(shù)
13.4 簡單的程序
13.5 給一個共車的計數(shù)器持續(xù)加
13.6 向一個服務(wù)器發(fā)送消息
13.7 小結(jié)
13.8 習(xí)題

第14章 System V共享內(nèi)存區(qū)
14.1 概述
14.2 shmget函數(shù)
14.3 shmat函數(shù)
14.4 shmdt函數(shù)
14.5 shmctl函數(shù)
14.6 簡單的程序
14.7 共享內(nèi)存區(qū)限制
14.8 小結(jié)
14.9 習(xí)題

第5部分 遠(yuǎn)程過程調(diào)用

第15章 門
15.1 概述
15.2 door-call函數(shù)
15.3 door-create函數(shù)
15.4 door-return函數(shù)
15.5 door-ored函數(shù)
15.6 door-info函數(shù)
15.7 例子
15.8 描述字傳遞
15.9 door-sever-create函數(shù)
15.10 door-bind、door-unbind和door-revoke函數(shù)
15.11 客戶或服務(wù)器的過早終止
15.12 小結(jié)
15.13 習(xí)題

第16章 Sun RPC
16.1 概述
16.2 多線程化
16.3 服務(wù)器捆綁
16.4 認(rèn)證
16.5 超時和重傳
16.6 調(diào)用語義
16.7 客戶或服務(wù)器的過早終止
16.8 XDR:外部數(shù)據(jù)表示
16.9 RPC分組格式
16.10 小結(jié)
16.11 習(xí)題

后記

第6部分 附 錄
附錄A 性能測量
A.1 概述
A.2 結(jié)果
A.3 消息傳遞帶寬程序
A.4 消息傳遞延遲程序
A.5 線程同步程序
A.6 進(jìn)程同步程序
附錄B 線程入門
B.1 概述
B.2 基本線程函數(shù):創(chuàng)建和終止
附錄C 雜湊的源代碼
C.1 unpipc.h頭文件
C.2 config.h頭文件
C.3 標(biāo)準(zhǔn)錯誤處理函數(shù)
附錄D 部分習(xí)題解答
附錄E 參考文獻(xiàn)
附錄F 函數(shù)和宏定義索引表
附錄G 結(jié)構(gòu)定義索引表
附錄H 中英文詞匯對照表

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號