出版社:人民郵電出版社 ISBN:9787115517807 商品編碼:63655640950 品牌:文軒 出版時間:2018-02-01 代碼:109 作者:W.理查德·史蒂文斯(W.RichardSt
" 作 者:[美] W. 理查德·史蒂文斯(W. Richard Stevens) 著 定 價:109 出 版 社:人民郵電出版社 出版日期:2018年02月01日 頁 數:457 裝 幀:平裝 ISBN:9787115517807 兩卷本的《UNIX網絡編程》是已故有名UNIX網絡專家W. Richard Stevens的傳世之作。卷2著重討論如何讓應用程序與在其他機器上的應用程序進行對話。本書接近重寫並擴充了1990年版《UNIX網絡編程》的第3章和第18章。字數統計表明,現在的內容是第1版的5倍。良好的進程間通信(IPC)機制是提高UNIX程序性能的關鍵。本書全面深入地講解了各種進程間通信形式,包括消息傳遞、同步、共享內存及遠程過程調用(RPC)。書中包含了大量經過優化的源代碼,幫助讀者加深理解,這些源代碼可以等 ●第 一部分 簡介 第 1章 簡介 21.1 概述 21.2 進程、線程與信息共享 31.3 IPC對像的持續性 41.4 名字空間 51.5 fork、exec和exit對IPC對像的影響 71.6 出錯處理:包裹函數 81.7 Unix標準 91.8 書中IPC例子索引表 111.9 小結 13習題 13第 2章 ix IPC 142.1 概述 142.2 IPC名字 142.3 創建與打開IPC通道 162.4 IPC權限 182.5 小結 19習題 19第3章 System V IPC 203.1 概述 203.2 key_t鍵和ftok函數 203.3 ipc_perm結構 223.4 創建與打開IPC通道 223.5 IPC權限 243.6 標識符重用 253.7 ipcs和ipcrm程序 273.8 內核 273.9 小結 28習題 29第二部分 消息傳遞第4章 管道和FIFO 324.1 概述 324.2 一個簡單的客戶-服務器例子 324.3 管道 324.4 全雙工管道 374.5 popen和pclose函數 394.6 FIFO 404.7 管道和FIFO的額外屬性 444.8 單個服務器,多個客戶 464.9 對比迭代服務器與並發服務器 504.10 字節流與消息 514.11 管道和FIFO 554.12 小結 56習題 57第5章 ix消息隊列 585.1 概述 585.2 mq_open、mq_close和mq_unlink函數 595.3 mq_getattr和mq_setattr函數 615.4 mq_send和mq_receive函數 645.5 消息隊列 675.6 mq_notify函數 685.7 ix實時信號 785.8 使用內存映射I/O實現 ix消息隊列 855.9 小結 101習題 101第6章 System V消息隊列 1036.1 概述 1036.2 msgget函數 1046.3 msgsnd函數 1046.4 msgrcv函數 1056.5 msgctl函數 1066.6 簡單的程序 1076.7 客戶-服務器例子 1126.8 復用消息 1136.9 消息隊列上使用select和poll 1216.10 消息隊列 1226.11 小結 124習題 124第三部分 同步第7章 互斥鎖和條件變量 1267.1 概述 1267.2 互斥鎖:上鎖與解鎖 1267.3 生產者-消費者問題 1277.4 對比上鎖與等待 1317.5 條件變量:等待與信號發送 1327.6 條件變量:定時等待和廣播 1367.7 互斥鎖和條件變量的屬性 1367.8 小結 139習題 139第8章 讀寫鎖 1408.1 概述 1408.2 獲取與釋放讀寫鎖 1408.3 讀寫鎖屬性 1418.4 使用互斥鎖和條件變量實現讀寫鎖 1428.5 線程取消 1488.6 小結 153習題 153第9章 記錄上鎖 1549.1 概述 1549.2 對比記錄上鎖與文件上鎖 1579.3 ix fcntl記錄上鎖 1589.4 勸告性上鎖 1629.5 強制性上鎖 1649.6 讀出者和寫入者的優先級 1669.7 啟動一個守護進程的專享副本 1709.8 文件作鎖用 1719.9 NFS上鎖 1739.10 小結 173習題 174第 10章 ix信號量 17510.1 概述 17510.2 sem_open、sem_close和sem_unlink函數 17910.3 sem_wait和sem_trywait函數 18010.4 sem_post和sem_getvalue函數 18010.5 簡單的程序 18110.6 生產者-消費者問題 18610.7 文件上鎖 19010.8 sem_init和sem_destroy函數 19110.9 多個生產者,單個消費者 19310.10 多個生產者,多個消費者 19610.11 多個緩衝區 19910.12 進程間共享信號量 20510.13 信號量 20610.14 使用FIFO實現信號量 20610.15 使用內存映射I/O實現信號量 21010.16 使用System 號量實現 ix信號量 21810.17 小結 224習題 225第 11章 System V 信號量 22611.1 概述 22611.2 semget函數 22711.3 semop函數 22911.4 semctl函數 23111.5 簡單的程序 23211.6 文件上鎖 23711.7 信號量 23811.8 小結 242習題 242第四部分 共享內存區第 12章 共享內存區介紹 24412.1 概述 24412.2 mmap、munmap和msync函數 24712.3 在內存映射文件中給計數器持續加1 25012.4 4.4BSD匿名內存映射 25412.5 SVR4 /dev/zero內存映射 25512.6 訪問內存映射的對像 25512.7 小結 259習題 260第 13章 ix共享內存區 26113.1 概述 26113.2 shm_open和shm_unlink函數 26113.3 ftruncate和fstat函數 26213.4 簡單的程序 26313.5 給一個共享的計數器持續加1 26713.6 向一個服務器發送消息 27013.7 小結 275習題 275第 14章 System V共享內存區 27614.1 概述 27614.2 shmget函數 27614.3 shmat函數 27714.4 shmdt函數 27714.5 shmctl函數 27714.6 簡單的程序 27814.7 共享內存區 28114.8 小結 282習題 283第五部分 遠程過程調用第 15章 門 28615.1 概述 28615.2 door_call函數 29115.3 door_create函數 29215.4 door_return函數 29315.5 door_cred函數 29415.6 door_info函數 29415.7 例子 29515.8 描述符傳遞 30615.9 door_sever_create函數 31015.10 door_bind、door_unbind和door_revoke函數 31515.11 客戶或服務器的過早終止 31515.12 小結 321習題 322第 16章 Sun RPC 32316.1 概述 32316.2 多線程化 33016.3 服務器捆綁 33316.4 認證 33616.5 超時和重傳 33816.6 調用語義 34216.7 客戶或服務器的過早終止 34316.8 XDR:外部數據表示 34516.9 RPC分組格式 36116.10 小結 365習題 366後記 368附錄A 性能測量 371附錄B 線程入門 406附錄C 雜湊的源代碼 409附錄D 精選習題解答 417參考文獻 433索引 435 本書是一部UNIX 網絡編程的經典之作!進程間通信(IPC)幾乎是所有Unix 程序性能的關鍵,理解IPC 也是理解如何開發不同主機間網絡應用程序的必要條件。本書從對 ix IPC 和System V IPC 的內部結構開始討論,全面深入地介紹了4 種IPC 形式:消息傳遞(管道、FIFO、消息隊列)、同步(互斥鎖、條件變量、讀寫鎖、文件與記錄鎖、信號量)、共享內存(匿名共享內存、具名共享內存)及遠程過程調用(Solaris門、Sun RPC)。附錄中給出了測量各種IPC 形式性能的方法。 本書內容詳盡且具權威性,幾乎每章都提供精選的習題,並提供了部分習題的答案,是網絡研究和開發人員理想的參考書。 [美] W. 理查德·史蒂文斯(W. Richard Stevens) 著 W. 理查德·史蒂文斯(W. Richard Stevens)國際知名的UNIX 和網絡專家,備受贊譽的技術作家。他1951 年2 月5 日出生於贊比亞,後隨父母回到美國。中學時就讀於弗吉尼亞菲什伯恩軍事學校,1973 年獲得密歇根大學航空和航天工程學士學位。1975 年至1982 年,他在亞利桑那州圖森市的基特峰國家天文臺從事計算機編程工作,業餘時間喜愛飛行運動,做過兼職飛行教練。這期間他分別在1978 年和1982 年獲得亞利桑那大學繫統工程碩士和博士學位。此後他去康涅狄格州紐黑文的健康繫統國際公司任主管計算機服務的副總裁。1990 年他回到圖森,從事專業技術寫作和咨詢工作。寫下了多種經典等
" |