预购商品
书目分类
特别推荐
• 本書英文版System Programming獲得美國最權威的書評機構Bookauthority的推薦,並評為最佳網路程式設計書籍。 • 作者陳金追為電腦系統軟體世界級的專家!從事軟體研發三十幾年,曾為Oracle開發全新的資料庫復原系統。 • 想成為世界級的電腦軟體專家,看本書就對了! 本書有系統地介紹如何以POSIX標準所規定的作業系統程式界面,做跨平台的軟體開發,設計出一流軟體。 上册第1-11章(系統程式設計): • 靜態與動態連結,動態載入。程序管理。軟體開發與軟體工程過程。 • 檔案輸入/輸出:循序I/O、隨機I/O、向量I/O、非同步I/O、直接I/O。 • 程序間通信方法:信號、旗誌、共有記憶、插口、有名與無名導管、信息排隊、映入記憶器檔案。 • Pthreads多程線程式設計:互斥鎖、條件變數、程線特有資料、修復吊死的互斥鎖、程線取消、生産消費問題。 • 共時控制:更新遺失問題、系統五與POSIX旗誌。以組合語言撰寫自己的上鎖與解鎖函數,比系統所提供的任何共時控制設施,都快上25~80%的速度。如何預防鎖死。 下冊第12-16章(網路程式設計): • 網路插口程式設計:不同種類的插口、客戶伺服程式、連線與非連線式通信、同時支援IPv4與IPv6、多工式伺服程式、多播作業、非同步連線、自動重新再連線、查取端口號。 • 插口選項:SO_KEEPALIVE、SO_LINGER、SO_REUSEADDR、SO_REUSEPORT 與緩衝器大小 。 • 性能調整:如何分別在應用軟體與作業系統核心層次,調整網路插口程式的性能。 • 分散式程式設計:如何解決跨印地(endian)、對位、32與64位元混合、永遠往後且往前相容、版本術、預防癱瘓攻撃。 • 電腦網路安全:對稱式與不對稱式密碼術。撰寫從事信息紋摘、加密、解密、HMAC、數位簽字,以及SSL/TLS等作業的客戶伺服程式。PKI,如何產生並建立自簽的X.509憑証,如何做不同格式憑證的轉換,SSL/TLS 程式設計,如何在SSL/TLS作業時驗證一串的憑證,以及如何在SSL/TLS上做客戶認證等。 • 如何設計一流軟體。 • 書中200多個C範例程式,均在Linux、AIX、Solaris、HPUX、Apple Darwin上測試過。網路插口程式也在微軟Windows測試過。
第1 章 基本計算機概念 1-1 硬體與軟體,兩者缺一不可 1-2 計算機硬體簡介 1-3 計算機的基本作業 1-4 計算機軟體 1-5 作業系統 1-6 程式,程序與程線 1-7 電腦的階層 第2 章 軟體開發與軟體工程過程 2-1 軟體開發過程 2-2 原始碼控制系統 2-3 軟體釋出過程 2-4 產品建立的不同模式 2-5 產品建立的工具 2-6 退化測試組套 2-7 編譯式與解譯式程式語言 2-8 程式語言的選擇 第3 章 程式與庫存的建立 3-1 何謂庫存 3-2 存檔庫存與共用庫存 3-3 建立程式或庫存的兩個階段 3-4 靜態連結與動態連結 3-5 連結程式如何找到靜態與動態庫存 3-6 應用程式如何找到動態庫存 3-7 動態載入 — 不連結 3-8 編譯、載入與執行時段 3-9 混合式連結 3-10 建立與應用你自己的庫存 3-11 作業指令摘要 第4 章 檔案輸入/輸出 4-1 磁碟的結構 4-2 檔案的一些觀念 4-3 兩種程式界面 4-4 檔案描述與相關之核心層資料結構 4-5 打開與建立檔案 4-6 寫入檔案 4-7 撰寫健全牢固從事I/O 的軟體 4-8 讀取檔案 4-9 循序I/O 4-10 共時程序間共用檔案 4-11 隨機I/O 4-12 向量式I/O 4-13 非同步I/O 4-14 直接I/O 4-15 輸入/輸出緩衝 4-16 檔案的共時更新 第5章 檔案與檔案夾 5-1 檔案的種類與權限 5-2 開創或剔除檔案夾 5-3 建立連結 5-4 建立象徵連結 5-5 剔除或改名一個檔案或檔案夾 5-6 獲取配置參數的值 5-7 取得或改變現有工作檔案夾 5-8 讀取檔案夾元素的狀態資訊 5-9 打開與讀取檔案夾 5-10 改變權限 5-11 改變擁有者 5-12 複製檔案描述 5-13 fcntl()函數 5-14 ioctl()函數 5-15 檔案與檔案夾之權限面罩 5-16 SUID,SGID,與黏著位元 5-17 access()與faccessat()函數 5-18 更改存取與異動時間 第6章 信號 6-1 信號簡介 6-2 處置信號的行動 6-3 以kill()函數發送信號 6-4 信號面罩—被阻擋著的信號 6-5 接收被擋住,懸而未決的信號 6-6 保留給應用程式的信號 6-7 作業系統所定義的非必要信號 6-8 信號對sleep()函數的影響 6-9 信號的警訊 6-10 信號摘要 6-11 其他的信號函數 第7章 程序 7-1 程序有關的觀念與函數 7-2 以fork()產生一新程序 7-3 母程序等候子程序 7-4 產生新程序以執行不同的程式 7-5 母程序與子程序之溝通 7-6 孤兒與亡魂程序 7-7 程序終止 7-8 getenv()與sysconf()函數 7-9 system()函數 7-10 程序的資源極限 7-11 其他用戶與群組相關的函數 第8章 Pthreads程式設計 8-1 為何使用多程線程式設計 8-2 基本的Pthreads 8-3 Pthreads屬性 8-4 共時控制問題的種類 8-5 互斥鎖 8-6 條件變數 8-7 讀寫鎖 8-8 程線特有的資料 8-9 取消程線 8-10 程線的信號處理 8-11 進一步參考資料 8-12 所有的pthreads程式界面 8-13 含程線取消點的函數 第9章 共時控制與上鎖 9-1 共時控制簡介 9-2 系統五IPC資源簡介 9-3 系統五旗誌 9-4 不同類型的鎖 9-5 設計與實作自己的上鎖函數 9-6 POSIX旗誌 9-7 微軟視窗的旗誌與互斥鎖 9-8 鎖死 9-9 和旗誌有關的系統可調參數 9-10 共時控制問題與解決辦法摘要 第10章 共有記憶 10-1 共有記憶簡介 10-2 共有記憶的程式界面 10-3 共有記憶實例 第11章 再談程序間通信方式 11-1 程序間通信摘要 11-2 具名的導管(FIFOs) 11-3 信息排隊 11-4 映入記憶器檔案
作者簡介 陳金追(Jin-Jwei Chen) 美國麻州大學電腦碩士,博士班肄業,是電腦系統軟體世界級的專家。求學後在美國電腦軟體工業界,從事軟體研發三十幾年,曾為Oracle開發全新的資料庫復原系統。經驗橫跨作業系統核心、資料庫管理系統核心、群集系統、網路與分散系統、網路安全、網路管理、應用伺服器與網際網路服務等不同領域。 作者擁有一項美國大專利,含十六項發明的「無資料遺失之資料庫備存與復原」。他也在1990年代設計與開發由Unix作業系統核心反向叫用使用者空間的命令,進行完全動態載入設備驅動程式的技術,但卻不知申請專利。
客服公告
热门活动
订阅电子报