TOP
0
0
【簡體曬書區】 單本79折,5本7折,活動好評延長至5/31,趕緊把握這一波!
Linux編程(簡體書)
滿額折

Linux編程(簡體書)

人民幣定價:69 元
定  價:NT$ 414 元
優惠價:87360
領券後再享88折
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:10 點
相關商品
商品簡介
目次

商品簡介

《Linux編程》全面講述Linux環境下基於C語言的系統編程技術以及相關的理論原理,主要內容包括Linux基本操作、Shell編程、系統I/O編程、文件系統、進程控制原理、多進程併發編程、信號機制、線程概念、多線程併發編程、同步與互斥的概念、基於信號量與P/V操作解決同步及互斥問題、經典同步問題、網絡編程、併發網絡應用編程等,《Linux編程》安排有大量的程序實例、課後作業,還設計了很多示意圖,以幫助讀者理解、運用書中介紹的概念、原理和技術。 《Linux編程》內容豐富、結構合理、思路清晰、語言簡明流暢、示例翔實,可作為高等院校計算機類專業操作系統、Linux編程等課程的教材,還可作為C程序設計、嵌入式開發的參考資料。

目次

目 錄




第1章 Linux系統文件操作 1
1.1 UNIX/Linux操作系統簡介 1
1.1.1 UNIX簡介 1
1.1.2 Linux概述 2
1.2 Linux系統目錄結構 3
1.3 Linux系統的安裝、啟動、登錄、
用戶界面與命令格式 5
1.3.1 在VMware中用快照快速安裝
Linux虛擬機系統 5
1.3.2 啟動與登錄Linux 5
1.3.3 三種系統操作界面 6
1.3.4 Linux命令格式和說明 7
1.4 Linux文件、目錄操作及文件
屬性、權限 9
1.4.1 目錄路徑與目錄操作 9
1.4.2 文件屬性與權限 13
1.4.3 Linux文件操作命令 14
1.4.4 修改文件屬性 19
1.4.5 使用通配符(“*”和“?”)匹配
文件名 21
1.4.6 文件的壓縮與打包 22
1.5 輸入輸出重定向和管道 23
1.6 本章小結 24
課後作業 25
第2章 Linux Shell編程 26
2.1 Shell編程基本概念 26
2.1.1 Shell腳本程序的結構 27
2.1.2 Shell腳本的創建與執行方法 27
2.1.3 Shell變量與賦值表達式 28
2.1.4 Shell輸入輸出語句 29
2.1.5 終止腳本執行和終止狀態 29
2.2 Shell數學運算與字符串處理 32
2.2.1 Shell數學運算 32
2.2.2 Shell字符串處理 32
2.3 Shell條件與if控制結構 33
2.3.1 if語句 34
2.3.2 test命令 36
*2.3.3 複合條件檢查 39
2.3.4 case語句 40
2.4 循環結構 40
2.4.1 for循環結構 41
2.4.2 while循環結構 42
2.4.3 until循環結構 43
2.5 Linux全局變量和環境變量 44
2.5.1 Linux Shell層次結構 44
2.5.2 Shell全局變量與局部變量 45
2.5.3 Linux環境變量 46
*2.5.4 Shell變量的刪除和只讀設置
方法 48
2.5.5 Shell數組的定義和使用方法 48
2.6 Linux文件I/O、I/O重定向和管道 49
2.6.1 標準文件描述符 49
2.6.2 I/O重定向 50
2.6.3 管道 51
2.6.4 從文件獲取輸入 52
2.7 命令行參數 52
*2.8 Shell函數 53
*2.8.1 函數的基本用法 53
*2.8.2 向函數傳遞參數 54
2.9 本章小結 54
課後作業 55
第3章 Linux C編程環境 57
3.1 Linux C程序的編譯與執行 57
3.1.1 Linux環境下C程序的編譯與
執行過程 57
3.1.2 編譯多個源文件 61
3.1.3 使用頭文件和庫文件 62
*3.1.4 使用gcc創建自定義庫文件 65
3.1.5 gcc常用命令選項及用法 67
3.2 Linux常用自帶系統庫 68
3.2.1 數學函數 68
3.2.2 環境控制函數 69
3.2.3 字符串處理函數 69
3.2.4 時間函數 70
3.2.5 數據結構算法函數 71
3.3 診斷和處理Linux編程錯誤 75
3.3.1 診斷和處理編譯錯誤 75
3.3.2 處理系統調用失敗 80
3.3.3 用斷言檢查程序狀態錯誤 84
*3.4 用GDB/ddd調試器診斷運行
錯誤 85
*3.4.1 用GDB調試程序運行錯誤的
實例 85
*3.4.2 常用GDB命令 88
*3.4.3 用ddd/GDB調試程序 89
3.5 命令行參數和環境變量的
讀取方法 90
3.5.1 環境變量及其使用方法 90
3.5.2 命令行參數的使用方法 91
*3.6 make工具 92
*3.6.1 引入make工具的原因 92
*3.6.2 用makefile描述源文件間的
依賴關係 93
*3.6.3 引入偽目標以增強makefile功能 94
*3.6.4 用變量優化makefile文件 95
3.6.5 用預定義變量和隱含規則
簡化makefile文件 96
3.7 本章小結 97
課後作業 98
第4章 輸入輸出與文件系統 101
4.1 文件系統層次結構 101
4.1.1 文件系統層次結構簡介 101
4.1.2 文件I/O庫函數 102
4.2 系統I/O概念與文件操作編程 103
4.2.1 UNIX I/O 103
4.2.2 文件打開和關閉函數 104
4.2.3 文件讀寫編程與讀寫性能
改進方法 107
4.2.4 文件定位與文件內容隨機讀取 111
4.2.5 任意類型數據的文件讀寫 113
4.2.6 用文件讀寫函數操作設備 115
4.3 內核文件I/O數據結構及應用 117
4.3.1 文件描述符和標準輸入輸出 117
4.3.2 文件打開過程 118
4.3.3 內核文件I/O數據結構共享原理 119
4.3.4 dup和I/O重定向 120
*4.4 用RIO包增強UNIX I/O功能 124
*4.4.1 RIO的無緩衝的輸入輸出函數 124
*4.4.2 RIO帶緩衝的輸入函數 125
4.5 文件組織 128
4.5.1 文件屬性、目錄項與目錄 128
4.5.2 邏輯地址與物理地址 129
4.5.3 創建和讀寫文件 130
4.5.4 一體化文件目錄和分解目錄 132
4.5.5 Linux分解式目錄管理 133
4.5.6 讀取文件元數據 135
4.5.7 文件搜索和當前目錄 136
4.6 文件物理結構 137
4.6.1 外存組織方式 137
4.6.2 管理磁盤空閒盤塊 141
4.6.3 文件系統結構格式 143
4.7 本章小結 144
課後作業 144
第5章 進程管理與控制 151
5.1 邏輯控制流和併發流 151
5.2 進程的基本概念 153
5.2.1 進程概念、結構與描述 153
5.2.2 進程的基本狀態及狀態轉換 155
5.2.3 對進程PCB進行組織 156
5.2.4 進程實例 157
5.2.5 操作進程的工具 158
5.2.6 編程讀取進程屬性 160
*5.2.7 進程權限和文件特殊權限位 161
5.3 進程控制 163
5.3.1 創建進程 163
5.3.2 多進程併發特徵與執行流程
分析 170
5.3.3 進程的終止與回收 173
5.3.4 讓進程休眠 177
5.3.5 加載並運行程序 178
5.3.6 fork和exec函數的應用實例 180
*5.3.7 非本地跳轉 184
5.3.8 進程與程序的區別 186
5.4 信號機制 186
5.4.1 信號概念 186
5.4.2 信號術語 188
5.4.3 發送信號的過程 188
5.4.4 接收信號的過程 191
*5.4.5 信號處理問題 193
*5.4.6 可移植信號處理 197
*5.4.7 信號處理引起的競爭 198
*5.5 守護進程 201
5.6 進程、內核與系統調用間的
關係 203
5.7 本章小結 204
課後作業 205
第6章 線程控制與同步互斥 211
6.1 線程概念 211
6.1.1 什麼是線程 211
6.1.2 線程執行模型 212
6.1.3 多線程應用 213
6.1.4 第一個線程 213
6.2 多線程併發特徵與編程方法 215
6.2.1 Pthreads線程API 215
6.2.2 多線程併發特徵 217
6.2.3 線程間數據傳遞 219
6.3 多線程程序中的共享變量 221
6.3.1 進程的用戶地址空間結構 222
6.3.2 變量類型和運行實例 223
6.3.3 共享變量的識別 223
6.4 線程同步與互斥 224
6.4.1 變量共享帶來的同步錯誤 224
6.4.2 臨界資源、臨界區、進程(線程)
互斥問題 229
6.4.3 用信號量與P/V操作保證臨界區
互斥執行 230
6.4.4 用信號量及P/V操作解決資源
調度問題 233
6.4.5 用Pthreads同步機制實現線程的
互斥與同步 237
6.4.6 共享變量的類型與同步編程小結 242
6.5 經典同步問題 242
6.5.1 生產者/消費者問題 243
6.5.2 讀者/寫者問題 245
*6.6 其他同步機制 246
*6.6.1 AND型信號量 246
*6.6.2 信號量集 247
*6.6.3 條件變量 248
*6.6.4 管程 250
*6.7 多線程併發的其他問題 251
*6.7.1 線程安全 251
*6.7.2 可重入性 253
*6.7.3 線程不安全庫函數 254
*6.7.4 線程競爭 254
6.8 使用多線程提高並行性 257
6.8.1 順序程序、併發程序和並行
程序 257
6.8.2 並行程序應用示例 258
6.8.3 使用線程管理多個併發活動 262
6.9 本章小結 264
課後作業 265
第7章 進程間通信 273
7.1 管道通信 273
7.1.1 什麼是管道 273
7.1.2 命名管道FIFO及應用編程 274
*7.1.3 利用FIFO傳輸任意類型數據 277
7.1.4 無名管道PIPE及應用 278
7.1.5 使用PIPE實現管道命令 281
*7.1.6 使用FIFO的客戶端/服務器
應用程序 283
7.2 消息隊列 286
7.2.1 消息隊列的結構 286
7.2.2 消息隊列函數 287
7.2.3 消息隊列通信示例 289
7.2.4 通過消息隊列傳輸任意類型的
數據 292
7.3 共享內存 294
7.3.1 基於共享內存進行通信的基本
原理 294
7.3.2 共享內存相關API函數 295
7.3.3 共享內存通信驗證 296
7.3.4 共享內存通信示例 299
7.4 用IPC信號量實施進程同步 302
7.4.1 IPC信號量集結構體及操作函數 302
7.4.2 IPC用信號量集創建自定義P/V
操作函數庫 304
7.5 本章小結 305
課後作業 306
第8章 網絡編程 308
8.1 客戶端/服務器編程模型 308
8.2 網絡通信結構和Internet連接 309
8.2.1 網絡通信結構 309
8.2.2 Internet連接 310
8.3 套接字地址與設置方法 311
8.3.1 IP地址和字節序 311
8.3.2 Internet域名 313
8.3.3 套接字地址結構 316
8.4 套接字接口與TCP通信編程
方法 316
8.4.1 socket函數 317
8.4.2 connect函數 317
8.4.3 open_client_sock函數 318
8.4.4 bind函數 319
8.4.5 listen函數 319
8.4.6 open_listen_sock函數 319
8.4.7 accept函數 320
8.4.8 send/recv函數 321
8.5 網絡通信應用示例toggle 321
8.6 Web編程基礎 324
8.6.1 Web基礎 324
8.6.2 Web內容 325
8.6.3 HTTP事務 326
8.7 小型Web服務器: weblet.c 328
8.7.1 weblet的主程序 328
8.7.2 HTTP事務處理 329
8.7.3 生成錯誤提示頁面 331
8.7.4 HTTP額外請求報頭的讀取 332
8.7.5 URI解析 332
8.7.6 服務靜態內容 333
8.7.7 測試靜態網頁功能 334
8.7.8 服務動態內容 335
8.7.9 實現CGI程序 336
8.7.10 測試動態網頁功能 337
8.7.11 關於Web服務器的其他問題 339
8.8 本章小結 339
課後作業 340
第9章 併發網絡通信編程實例 341
9.1 基於多進程的併發編程 341
*9.2 基於I/O多路複用的併發編程 344
*9.2.1 利用I/O多路複用等待多種I/O事件 345
*9.2.2 基於I/O多路複用實現事件驅動
服務器 346
9.3 基於線程的併發編程 350
9.3.1 基於線程的併發toggle服務器 350
9.3.2 基於預線程化的併發服務器 351
9.4 本章小結 354
課後作業 354
參考文獻 356

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 360
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區