高等Linux Unix程式設計進化手冊
| 作者 | 趙克佳/ 沈志宇 |
|---|---|
| 出版社 | 佳魁資訊股份有限公司 |
| 商品描述 | 高等Linux Unix程式設計進化手冊:本書遵循最新的『統一UNIX標準版本4』,以Linux為平台,系統性地說明了UNIXAPI各種函數的程式設計方法。內容包含UNIX的發展歷史與標準、 |
| 作者 | 趙克佳/ 沈志宇 |
|---|---|
| 出版社 | 佳魁資訊股份有限公司 |
| 商品描述 | 高等Linux Unix程式設計進化手冊:本書遵循最新的『統一UNIX標準版本4』,以Linux為平台,系統性地說明了UNIXAPI各種函數的程式設計方法。內容包含UNIX的發展歷史與標準、 |
內容簡介 本書遵循最新的『統一UNIX 標準版本4』, 以Linux 為平台,系統性地說明了UNIX API 各種函數的程式設計方法。內容包含UNIX 的發展歷史與標準、標準I O和低階I O、檔案與目錄操作、處理程序環境與處理程序控制、訊號處理、時間與定時、終端I O、進階I O、處理程序之間的通訊、通訊端與網路通訊、多執行緒程式設計。本書在介紹UNIX API 各種函數的功能和用途的同時,清晰地闡述了它們所隱含的作業系統基本原理。書中列出了大量程式設計範例程式,有助於讀者更進一步地熟練這些函數的功能、使用方法及程式設計技巧。UNIX Linux 流行起來這十年間,影響UNIX 程式設計介面的標準和標準發生了很大的變化,當時大家學習參考的Single UNIX Specification 2 現在已發展到Single UNIX Specification 4,而許多分離獨立的標準和標準,包含Single UNIXSpecification,現在都已經統一在POSIX.1-2008 標準之下了。隨著Linux 系統的成熟和發展,UNIX 系統已不再是少數大型主機和伺服器的專利。任何一個使用電腦的人現在都能安裝和使用Linux,進一步使得用UNIX 程式設計介面開發應用的人也越來越多。本書適合讀者從事應用軟體的開發者從事系統軟體的開發者相關課程的大專院校的師生本書針對較新的Linux 的內容如下:1) 調整個別介面使之遵循POSIX.1-2008 標準。2) 考慮到許多嵌入式應用的需要,新增了即時訊號處理、即時時脈與定時。3) 因為多核心多執行緒微處理器和並行處理已經相當普及,多執行緒程式 設計對應用軟體開發已經非常重要,為此本書的內容專門介紹執行緒。4) 增強了非同步I O、通訊端通訊等內容。
作者介紹 ■作者簡介趙克佳、沈志宇
產品目錄 第01章 UNIX 導論1.1 UNIX 簡史1.1.1 UNIX 的誕生 1.1.2 UNIX 的早期發展1.1.3 BSD UNIX 1.1.4 系統V UNIX 1.1.5 UNIX 的商業化 1.1.6 Linux1.2 標準1.2.1 SVID 1.2.2 POSIX 1.2.3 統一UNIX 標準1.2.4 C 標準 1.3 UNIX 基本概念 1.3.1 程式和處理程序 1.3.2 核心1.3.3 shell1.3.4 使用者名稱與使用者ID、使用者群組與群組ID 1.3.5 特權使用者1.3.6 系統呼叫與函數 1.4 系統函數庫 1.4.1 標頭檔1.4.2 保留字 1.4.3 特徵測試 1.5 範例程式和編譯環境1.6 錯誤處理1.7 系統資訊1.7.1 機器標識1.7.2 硬體 軟體型態識別 1.8 系統能力限制 1.8.1 一般能力限制值1.8.2 系統和檔案特徵選項 1.8.3 sysconf()、pathconf() 和 fpathconf() 函1.9 思考與練習 第02章 標準輸入輸出2.1 UNIX 輸入輸出基本概念 2.2 流和FILE 物件2.3 開啟和關閉流2.4 讀和寫流2.4.1 字元I O 2.4.2 行I O2.4.3 讀回2.4.4 區塊I O2.5 檔案定位2.6 檔案結束和錯誤指示器2.7 流緩衝2.8 格式I O 2.8.1 格式輸出 2.8.2 格式輸入2.9 暫存檔案 2.10 思考與練習第03章 低階輸入輸出3.1 檔案描述子的開啟、建立和關閉函數 3.2 read() 和write() 函數3.3 設定描述子的檔案位置3.4 dup() 和dup2() 函數3.5 fdopen() 和fileno() 函數3.6 檔案控制函數fcntl()3.6.1 重複檔案描述子呼叫 3.6.2 檔案描述子標籤3.6.3 檔案狀態標籤3.7 非阻塞I O 3.8 readv() 和writev() 函數3.9 fsync() 和fdatasync() 函數3.10 思考與練習第04章 檔案與目錄4.1 檔案4.1.1 stat()、fstat() 和lstat()函數 4.2 檔案型態4.2.1 一般檔案4.2.2 目錄 4.2.3 連結與link() 函數 4.2.4 符號連結與symlink() 和readlink() 函數 4.2.5 特別檔案 4.2.6 測試檔案的型態 4.3 檔案的擁有者和使用者群組 4.3.1 chown()、fchown() 和lchown() 函數4.4 檔案規則4.4.1 檔案存取權限 4.4.2 調整使用者ID 和調整群組ID4.4.3 sticky 位元4.4.4 檔案規則位元小結 4.5 確定和改變檔案規則 4.5.1 umask() 函數4.5.2 chmod() 和fchmod()函數4.5.3 access() 函數 4.6 檔案大小4.6.1 截斷檔案 4.7 檔案時間4.7.1 utime() 和utimes() 函數 4.8 檔案的刪除與重新命名 4.8.1 刪除檔案和目錄4.8.2 檔案重新命名 4.9 目錄操作4.9.1 工作目錄 4.9.2 建立目錄4.9.3 讀取目錄4.9.4 對目錄流的隨機存取 4.10 思考與練習第05章 處理程序環境5.1 main() 函數 5.2 命令列參數5.2.1 命令列參數的語法約定5.2.2 掃描命令列中的選項5.3 環境變數5.3.1 環境表5.3.2 存取環境5.4 終止處理 5.4.1 Exit|Code5.4.2 終止前的清理 5.4.3 中止程式 5.5 處理程序的儲存空間5.5.1 處理程序的位址空間 5.5.2 動態儲存裝置分配與釋放 5.5.3 釋放分配的儲存單元 5.6 setjmp() 和longjmp() 函數5.7 處理程序資源5.7.1 檢視與設定資源限制5.7.2 資源使用統計 5.8 使用者資訊5.8.1 使用者名稱 5.8.2 使用者資料庫 5.8.3 群組資料庫 5.9 處理程序的身份憑證 5.10 調整處理程序的身份 5.11 思考與練習第06章 處理程序控制6.1 處理程序標識 6.2 處理程序建立 6.3 執行一個新程式6.4 等待處理程序完成 6.5 處理程序終止與僵屍處理程序 6.6 system() 函數6.7 處理程序群組 6.8 階段 6.9 控制終端6.10 作業控制6.11 思考與練習 第07章 訊號處理7.1 訊號概念7.2 UNIX 訊號7.2.1 程式錯誤類訊號 7.2.2 程式中止類訊號程式7.2.3 鬧鈴類訊號7.2.4 I O 類訊號7.2.5 作業控制類訊號 7.2.6 操作錯誤類訊號7.2.7 其他訊號7.3 產生訊號 7.3.1 raise() 函數7.3.2 kill() 函數 7.4 設定訊號的動作7.4.1 signal() 函數 7.4.2 處理程序啟始時的訊號動作7.4.3 不可靠訊號7.4.4 sigaction() 函數 7.5 訊號控制7.5.1 正常傳回的訊號控制碼7.5.2 終止處理程序的控制碼7.6 阻塞訊號7.6.1 sigset_t 型態和訊號集操作 7.6.2 設定訊號隱藏 7.6.3 檢查擱置訊號 7.7 等待訊號 7.7.1 pause() 函數 7.7.2 sigsuspend() 函數 7.8 使用分開的訊號 7.9 訊號控制碼程式設計技巧7.9.1 控制碼內非局部控制轉移7.9.2 可重入函數與非同步訊號安全函數7.9.3 被訊號中斷的系統呼叫7.9.4 最小資料7.10 即時訊號7.10.1 SA_SIGINFO 標示 7.10.2 發送即時訊號 7.10.3 等待即時訊號7.11 思考與練習第08章 時間與定時8.1 系統時鐘時鐘8.1.1 time() 函數8.1.2 gettimeofday() 函數 8.2 時間格式轉換8.2.1 分解的日曆時間 8.2.2 格式化日期與時間8.3 CPU 時間與鐘錶時間 8.3.1 clock() 函數 8.3.2 times() 函數 8.4 休眠與定時 8.4.1 sleep() 函數 8.4.2 設定計時器 8.5 即時時鐘與定時 8.5.1 即時時鐘8.5.2 即時休眠相8.5.3 即時計時器 8.5.4 建立和刪除即時計時器8.5.5 設定即時計時器 8.5.6 計時器超期計數8.6 思考與練習第09章 終端I O9.1 需要改變終端設定的實例9.2 終端I O 概述9.2.1 終端9.2.2 序列埠 9.2.3 終端裝置檔案9.2.4 輸入輸出佇列9.2.5 加工和非加工輸入方式 9.3 GTI 控制介面 9.3.1 termios 資料結構 9.3.2 GTI 控制函數 9.4 終端屬性9.4.1 輸入方式輸入 9.4.2 輸出方式 9.4.3 控制方式9.4.4 局部方式 9.4.5 特殊字元9.4.6 stty 指令9.5 終端標識 9.6 改變終端屬性9.7 加工方式與非加工方式輸入 9.7.1 加工方式輸入 9.7.2 非加工方式輸入 9.8 設定串列傳輸速率 9.9 行控制函數9.10 序列埠程式設計 9.11 思考與練習第10章 進階I O110.1 檔案鎖 10.1.1 fcntl() 檔案鎖操作 10.1.2 鎖的測試、請求和釋放10.1.3 檔案鎖與處理程序和檔案的關係10.1.4 鎖死 10.1.5 建議鎖與強制鎖 10.2 訊號驅動的I O 10.3 多路轉接I O10.3.1 select() 函數 10.3.2 poll() 函數 10.4 非同步I O10.4.1 非同步I O 控制區塊 10.4.2 I O 完成時的訊號發佈 10.4.3 非同步I O 的優先順序10.4.4 非同步I O 函數10.4.5 非同步I O 範例 10.4.6 非同步I O 注意事項10.5 儲存映射I O 10.6 思考與練習第11章 處理程序間通訊11.1 管道11.1.1 建立管道 11.1.2 父子處理程序間的管道通訊 11.1.3 連接標準輸入和標準輸出的管道 11.1.4 popen() 和pclose() 函數11.1.5 管道I O 的不可分割性11.2 FIFO 特別檔案 11.2.1 建立FIFO 11.2.2 FIFO 操作 11.2.3 FIFO 用於客戶 服務通訊11.3 系統V IPC 11.3.1 關鍵字和標識11.3.2 IPC 資源描述結構與成員ipc_perm11.3.3 ipcs 和ipcrm 指令11.4 訊息佇列11.4.1 建立和獲得訊息佇列 11.4.2 訊息佇列的查詢、設定和刪除11.4.3 發送和接收訊息11.5 共用儲存區段 11.5.1 建立和獲得共用儲存區段 11.5.2 共用儲存區段的查詢、設定和刪除 11.5.3 共用儲存區段的連接和分離11.6 號誌11.6.1 建立和獲得號誌標識 11.6.2 號誌的查詢、設定和刪除 11.6.3 號誌操作 11.7 思考與練習第12章 通訊端及網路通訊12.1 TCP IP 協定12.2 通訊端 12.3 通訊端位址結構12.3.1 IP 位址12.3.2 域名位址 12.3.3 服務與通訊埠號 12.3.4 通訊端位址資料結構 12.3.5 位元組順序 12.4 命名通訊端12.5 通訊端通訊模式 12.6 流通訊端操作 12.6.1 請求連接12.6.2 接收連接 12.6.3 getsockname() 和getpeername() 函數 12.6.4 多客戶服務 12.6.5 send() 和recv() 函數12.7 通訊端選項 12.8 頻外資料12.8.1 TCP 頻外資料12.8.2 頻外資料的發送和接收 12.8.3 頻外資料標示 12.9 資料通訊端操作12.9.1 sendto() 和recvfrom()函數 12.9.2 資料通訊端客戶 服務範例12.9.3 使用connect() 函數 12.10 逾時處理12.11 思考與練習第13章 執行緒13.1 執行緒概念13.1.1 什麼是執行緒 13.1.2 執行緒的好處13.1.3 Pthreads 執行緒13.1.4 執行緒標識 13.2 建立執行緒13.3 終止執行緒13.3.1 等待中的執行緒終止13.3.2 可匯合與分離的執行緒 13.4 建立特殊屬性的執行緒 13.5 互斥變數 13.5.1 互斥變數的初始化和銷毀 13.5.2 互斥變數屬性13.5.3 互斥變數的加鎖與解鎖 13.5.4 互斥變數與spin 鎖 13.6 讀寫鎖13.6.1 讀寫鎖的初始化和銷毀 13.6.2 讀寫鎖的上鎖與解鎖 13.7 條件變數13.7.1 建立和銷毀條件變數13.7.2 條件變數屬性 13.7.3 等待條件變數 13.7.4 喚醒條件變數等待 13.8 思考與練習第14章 執行緒進階特徵14.1 執行緒專有資料 14.1.1 執行緒專有資料鍵的建立和刪除 14.1.2 使用執行緒專有資料14.2 取消執行緒14.2.1 執行緒的可取消屬性 14.2.2 取消執行緒與取消點14.2.3 非同步取消的安全性 14.2.4 現場清理 14.3 執行緒排程 14.3.1 執行緒排程競爭範圍14.3.2 排程策略與優先順序14.3.3 執行緒排程屬性 14.3.4 動態改變執行緒的排程策略和優先順序 14.4 執行緒與訊號 14.4.1 訊號動作14.4.2 訊號隱藏 14.4.3 向執行緒發送訊號14.4.4 等待訊號 14.4.5 一種新的事件通知方法:SIGEV_THREAD 14.5 思考與練習
| 書名 / | 高等Linux Unix程式設計進化手冊 |
|---|---|
| 作者 / | 趙克佳 沈志宇 |
| 簡介 / | 高等Linux Unix程式設計進化手冊:本書遵循最新的『統一UNIX標準版本4』,以Linux為平台,系統性地說明了UNIXAPI各種函數的程式設計方法。內容包含UNIX的發展歷史與標準、 |
| 出版社 / | 佳魁資訊股份有限公司 |
| ISBN13 / | 9789865836818 |
| ISBN10 / | 9865836815 |
| EAN / | 9789865836818 |
| 誠品26碼 / | 2680806606002 |
| 頁數 / | 688 |
| 開數 / | 18K |
| 注音版 / | 否 |
| 裝訂 / | P:平裝 |
| 語言 / | 1:中文 繁體 |
| 級別 / | N:無 |