• 本書英文版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測試過。