< >
幾乎所有的程式設計者都不得不面對,執行程式之作業系統的系統呼叫以及程式庫。本書將探討如何為 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 與 ABIs1.3 標準1.4 Linux 程式設計的概念1.5 向系統程式設計邁進 第二章 檔案 I/O2.1 開啟檔案2.2 以 read() 進行讀取操作2.3 以 write() 進行寫入操作2.4 同步化 I/O2.5 直接 I/O2.6 關閉檔案2.7 使用 lseek() 查找檔案位置2.8 針對特定位置的讀取與寫入2.9 截短檔案2.10 多工式 I/O2.11 核心內部 2.12 結語 第三章 緩衝式 I/O3.1 用戶緩衝式 I/O3.2 標準 I/O3.3 開啟檔案3.4 經由檔案描述器開啟一個串流3.5 關閉串流3.6 讀取自一個串流3.7 寫入一個串流3.8 使用緩衝式 I/O 的簡單程式3.9 查找一個串流3.10 出清一個串流3.11 錯誤與 EOF3.12 取得相應的檔案描述器3.13 控制與緩衝機制3.14 執行緒安全性3.15 標準 I/O 的缺陷3.16 結語 第四章 進階檔案 I/O4.1 分散 - 聚集 I/O4.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 語言所做的擴充參考書目索引
Linux 系統管理 建構嵌入式 Linux 系統 第二版 Linux 核心詳解 第三版
購買紙本書