基於UNIX/LINUX的C系統編程

基於UNIX/LINUX的C系統編程

《基於UNIX/LINUX的C系統編程》是2013年清華大學出版社出版的圖書,作者是張傑敏、王巍。

基本介紹

  • ISBN:9787302312833
  • 頁數:293
  • 定價:34.50元
  • 出版社:清華大學出版社
  • 出版時間:2013-4
  • 副標題:基於UNIX/LINUX的C系統編程
內容介紹,圖書目錄,

內容介紹

張傑敏、王巍編寫的這本《基於UNIX/Linux的C系統編程》面向套用組織內容,由淺入深地對UNIX/Linux環境下的系統編程進行全面分析,注重系統編程思想和系統編程模式的論述。全書共分為7章,詳盡而細緻地介紹了系統編程的概念及基礎知識、檔案操作、基於進程的並發控制技術、基於執行緒的並發控制技術、網路通信技術、異步事件編程和並行編程等多方面的內容。書中各章設計和選用了大量實例,以“案例+編程模式→原理+例程→系統編程思想”為體系,使讀者易於理解和套用,同時也為讀者的拓展和創新留有空間。
《基於UNIX/Linux的C系統編程》適用於計算機及相關專業,也可供系統編程人員和工程技術人員參閱。使用本書需要具備程式設計基礎,了解作業系統原理。

圖書目錄

第1章 基礎知識 1
1.1 什麼是系統編程 1
1.1.1 系統調用 2
1.1.2 核心與核心服務 3
1.1.3 記憶體管理機制 7
1.1.4 系統編程風格 8
1.2 動手實踐 9
1.3 庫的使用 11
1.3.1 靜態編程庫的生成與調用 12
1.3.2 動態程式庫的生成與調用 13
1.4 學習步驟 18
1.4.1 系統編程的評價標準 18
1.4.2 系統編程的學習步驟 19
1.5 本章小結 19
思考題 20
第2章 檔案操作 21
2.1 引例 21
2.2 檔案的操作 26
2.2.1 檔案的表示 26
2.2.2 檔案的打開、創建、刪除與關閉 26
2.2.3 檔案的讀和寫 29
2.2.4 檔案的定位、緩衝與複製 30
2.2.5 檔案控制和檔案鎖 32
2.3 UNIX檔案系統概述 37
2.3.1 UNIX檔案系統的結構 37
2.3.2 UNIX檔案系統的內部實現 41
2.4 檔案屬性與檔案系統屬性 44
2.4.1 檔案屬性函式族 44
2.4.2 檔案類型 45
2.4.3 檔案訪問許可權 46
2.4.4 檔案訪問方式 47
2.4.5 檔案其他屬性 49
2.4.6 檔案系統屬性 50
2.5 目錄檔案的操作 52
2.5.1 讀取與更改工作目錄 52
2.5.2 目錄的創建與刪除 53
2.5.3 目錄的讀取與定位 54
2.6 設備檔案 56
2.6.1 設備如何成為檔案 56
2.6.2 設備檔案操作 59
2.6.3 終端設備 62
2.6.4 串列連線埠編程 63
2.7 本章小結 68
思考題 69
第3章 並發控制——進程篇 70
3.1 引例 70
3.2 進程與進程控制 72
3.2.1 進程的結構和描述 72
3.2.2 進程控制 77
3.3 進程的同步與互斥 84
3.3.1 父、子進程之間的同步 85
3.3.2 通過信號量實現進程間同步 88
3.3.3 通過檔案鎖實現進程間同步 95
3.4 僵死進程與守護進程 95
3.4.1 僵死進程 95
3.4.2 守護進程 97
3.5 進程間通信 99
3.5.1 通信機制的選擇 100
3.5.2 通過檔案實現進程間通信 100
3.5.3 通過核心實現進程間通信 101
3.5.4 通過記憶體實現進程間通信 116
3.6 本章小結 123
思考題 124
第4章 並發控制——執行緒篇 125
4.1 引例 125
4.2 執行緒與執行緒控制 130
4.2.1 什麼是執行緒 130
4.2.2 執行緒控制 133
4.2.3 執行緒屬性 139
4.3 執行緒的同步與互斥 144
4.3.1 互斥量 147
4.3.2 條件變數 149
4.3.3 執行緒同步中的信號量 151
4.4 本章小結 154
思考題 154
第5章 網路通信 155
5.1 引例 155
5.2 網路編程基礎 157
5.2.1 如何標識網路中的進程 157
5.2.2 主機位元組次序與網路位元組次序 158
5.2.3 面向連線方式和無連線方式 159
5.2.4 實現網路編程 159
5.3 套接字 160
5.3.1 創建套接字 160
5.3.2 套接字定址 163
5.3.3 套接字選項 167
5.4 面向連線的通信 169
5.4.1 TCP協定的編程模型 170
5.4.2 TCP通信套用 174
5.4.3 TCP數據包的收發分析 177
5.5 面向無連線的通信 181
5.5.1 UDP協定的編程模型 181
5.5.2 UDP 通信套用 182
5.5.3 UDP數據包的收發分析 185
5.6 基於IP層和數據鏈路層的通信 186
5.6.1 基於IP層的通信 186
5.6.2 基於鏈路層的通信 199
5.7 並發socket編程 213
5.7.1 非阻塞並發模型 213
5.7.2 多進程並發模型 215
5.7.3 多執行緒並發模型 222
5.7.4 IO多路復用並發模型 229
5.8 本章小結 235
思考題 235
第6章 異步事件 236
6.1 引例 236
6.2 信號 237
6.2.1 信號的產生與分類 238
6.2.2 信號的傳送 240
6.2.3 信號的安裝 241
6.2.4 信號編程注意事項 248
6.3 時間與定時器 249
6.3.1 時間的數據結構與套用 249
6.3.2 普通定時器與精通定時器 253
6.3.3 定時器的漂移和超限 256
6.4 異步I/O編程 256
6.4.1 相關核心數據結構 258
6.4.2 相關操作 259
6.4.3 AIO通知 262
6.5 本章小結 267
思考題 267
第7章 並行計算初識 268
7.1 引例 268
7.1.1 串列計算模式簡介 268
7.1.2 並行計算模式簡介 270
7.1.3 多進程並行計算案例 271
7.1.4 多執行緒並行計算案例 273
7.2 多機集群環境下的MPI編程 275
7.2.1 什麼是MPI 275
7.2.2 MPI的編程框架 275
7.2.3 MPI通信 277
7.3 多核集群環境下的OpenMP編程 281
7.3.1 什麼是OpenMP 281
7.3.2 如何實現OpenMP編程 282
7.3.3 OpenMP的不足 287
7.3.4 OpenMP+MPI混合編程模式 287
7.4 由並行計算到雲計算 289
7.5 本章小結 290
思考題 291
附錄 UNIX的發展歷程 292
參考文獻 294

相關詞條

熱門詞條

聯絡我們