UNIX網絡編程 卷2 進程間通信(第2版) ( 簡體 字) |
作者:[美] W. 理查德?史蒂文斯 ( W. Richard Stevens ) | 類別:1. -> 作業系統 -> UNIX |
譯者: |
出版社:人民郵電出版社 | 3dWoo書號: 42179 詢問書籍請說出此書號!【缺書】 NT售價: 445 元 |
出版日:8/1/2015 |
頁數:457 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787115367204 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介: 《UNIX網絡編程 卷2:進程間通信(第2版)》是一部UNIX 網絡編程的經典之作!進程間通信(IPC)幾乎是所有Unix 程序性能的關鍵,理解IPC 也是理解如何開發不同主機間網絡應用程序的必要條件。本書從對Posix IPC 和System V IPC 的內部結構開始討論,全面深入地介紹了4 種IPC 形式:消息傳遞(管道、FIFO、消息隊列)、同步(互斥鎖、條件變量、讀寫鎖、文件與記錄鎖、信號量)、共享內存(匿名共享內存、具名共享內存)及遠程過程調用(Solaris門、Sun RPC)。附錄中給出了測量各種IPC 形式性能的方法。 《UNIX網絡編程 卷2:進程間通信(第2版)》內容詳盡且具權威性,幾乎每章都提供精選的習題,并提供了部分習題的答案,是網絡研究和開發人員理想的參考書。 |
目錄:第一部分 簡介 第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 |
序: |