幾乎所有的程式設計者都不得不面對,執行程式之作業系統的系統呼叫以及程式庫。本書將探討如何為 Linux 撰寫系統軟體--位於低層級的程式碼,可以直接跟核心及基礎系統程式庫互動。本書會告訴你,使用標準介面(包括進階的 Linux 介面)時,如何權衡功能與性能。
本書還會告訴你,如何寫出更聰明、更快的程式碼。本書的作者是著名的核心駭客 Robert Love,他不僅會告訴你,系統介面應該如何運作,而且還會說明其實際的運作狀況,以及如何安全並有效地使用它們。本書所提到的訣竅,可協助你在任何層級之上,都能撰寫出較佳的程式碼。
本書的內容包括:
* 檔案的讀寫操作,以及檔案的其他 I/O 操作,包括 Linux 核心如何實作和管理檔案 I/O 、記憶體對映以及優化技術
* 行程管理(包括即時行程)的系統呼叫
* 檔案和目錄--建立、移動、複製、刪除以及管理
* 記憶體管理--配置記憶體、管理記憶體以及優化記憶體存取的介面
* 信號以及其在 Unix 系統上所扮演的角色,在加上基本和進階的信號介面
* 時間、休眠以及時鐘管理,從基本的知識談起,涵蓋 POSIX 時鐘以及高解析度計時器
本書將從理論和應用的角度出發,帶著你深入探討 Linux,讓你能夠以最有效的方式來使用自己的系統。
作者簡介:
Robert Love 是一位資深的 Linux 使用者和駭客。他積極--並且熱心--參與 Linux 核心以及 GNOME desktop 社群的各項計畫。他近來對 Linux 核心的貢獻包括 kernel event layer 與 inotify 子系統。GNOME 方面的貢獻包括 Beagle、GNOME Volume Manager、NetworkManager 以及 Project Utopia。目前,Robert 在 Google 的 Open Source Program Office 工作。
目錄
他序
自序
第一章 介紹與基本概念
1.1 系統程式設計
1.2 APIs 與 ABIs
1.3 標準
1.4 Linux 程式設計的概念
1.5 向系統程式設計邁進
第二章 檔案 I/O
2.1 開啟檔案
2.2 以 read() 進行讀取操作
2.3 以 write() 進行寫入操作
2.4 同步化 I/O
2.5 直接 I/O
2.6 關閉檔案
2.7 使用 lseek() 查找檔案位置
2.8 針對特定位置的讀取與寫入
2.9 截短檔案
2.10 多工式 I/O
2.11 核心內部
2.12 結語
第三章 緩衝式 I/O
3.1 用戶緩衝式 I/O
3.2 標準 I/O
3.3 開啟檔案
3.4 經由檔案描述器開啟一個串流
3.5 關閉串流
3.6 讀取自一個串流
3.7 寫入一個串流
3.8 使用緩衝式 I/O 的簡單程式
3.9 查找一個串流
3.10 出清一個串流
3.11 錯誤與 EOF
3.12 取得相應的檔案描述器
3.13 控制與緩衝機制
3.14 執行緒安全性
3.15 標準 I/O 的缺陷
3.16 結語
第四章 進階檔案 I/O
4.1 分散 - 聚集 I/O
4.2 事件輪詢介面
4.3 將檔案對映至記憶體
4.4 對一般檔案 I/O 的用法提供建議
4.5 同步化、同步及非同步操作
4.6 I/O 排程器與 I/O 性能
4.7 結語
第五章 行程管理
5.1 行程識別碼
5.2 運行一個新行程
5.3 終止一個行程
5.4 等待已終止的子行程
5.5 用戶與群組
5.6 期程與行程群組
5.7 監控程式
5.8 結語
第六章 進階的行程管理
6.1 行程的排程
6.2 讓出處理器
6.3 行程優先權
6.4 處理器傾向
6.5 即時系統
6.6 資源限度
第七章 檔案與目錄的管理
7.1 檔案與其中介資料
7.2 目錄
7.3 連結
7.4 檔案的複製以及移動
7.5 裝置節點
7.6 帶外通訊
7.7 監視檔案事件
第八章 記憶體管理
8.1 行程位址空間
8.2 配置動態記憶體
8.3 管理資料區段
8.4 匿名記憶體映射
8.5 進階記憶體配置
8.6 記憶體配置的除錯
8.7 基於堆疊的配置
8.8 選擇記憶體配置機制
8.9 操作記憶體
8.10 鎖住記憶體
8.11 投機取巧的配置策略
第九章 信號
9.1 信號的概念
9.2 基本的信號管理
9.3 傳送一個信號
9.4 可再進入性
9.5 信號集
9.6 阻擋信號
9.7 進階的信號管理
9.8 以 payload 送出信號
9.9 結語
第十章 時間
10.1 時間的資料結構
10.2 POSIX 時鐘
10.3 取得當前時間
10.4 設定當前時間
10.5 操弄時間
10.6 調整系統時鐘
10.7 休眠與等待
10.8 計時器
附錄 GCC 對 C 語言所做的擴充
參考書目
索引
他序
自序
第一章 介紹與基本概念
1.1 系統程式設計
1.2 APIs 與 ABIs
1.3 標準
1.4 Linux 程式設計的概念
1.5 向系統程式設計邁進
第二章 檔案 I/O
2.1 開啟檔案
2.2 以 read() 進行讀取操作
2.3 以 write() 進行寫入操作
2.4 同步化 I/O
2.5 直接 I/O
2.6 關閉檔案
2.7 使用 lseek() 查找檔案位置
2.8 針對特定位置的讀取與寫入
2.9 截短檔案
2.10 多工式 I/O
2.11 核心內部
2.12 結語
第三章 緩衝式 I/O
3.1 用戶緩衝式 I/O
3.2 標準 I/O
3.3...
購物須知
退換貨說明:
會員均享有10天的商品猶豫期(含例假日)。若您欲辦理退換貨,請於取得該商品10日內寄回。
辦理退換貨時,請保持商品全新狀態與完整包裝(商品本身、贈品、贈票、附件、內外包裝、保證書、隨貨文件等)一併寄回。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱退換貨原則。