System Programming Vol I (Paperback)
暫譯: 系統程式設計 第卷 (平裝本)

Jin-Jwei Chen

  • 出版日期: 2020-12-08
  • 售價: $1,900
  • 貴賓價: 9.8$1,862
  • 語言: 英文
  • 頁數: 727
  • 裝訂: Papaerback
  • ISBN: 1736193007
  • ISBN-13: 9781736193006
  • 相關分類: Operating-system軟體工程
  • 相關翻譯: 系統程式設計 (上册) (繁中版)
  • 立即出貨(限量) (庫存=1)

買這商品的人也買了...

相關主題

商品描述

- This book aims at making readers a programming expert and an excellent software architect using portable standard POSIX APIs at the operating system API level. It offers a very systematic education of all required knowledge, concepts, technologies, techniques, skills and problem solutions for programming at the system level.

- This book contains the knowledge, skills and training that a computer science/engineering or software engineering student must have.

- It's a book that one must read if you are a software engineer developing system software in operating systems, database management systems, distributed systems, clustered systems, networking software, computer network security and client-server applications.

- This book is intended as a textbook for system programming course at college, either a one-year System Programming course or a one-semester System Programming followed by another semester of Network Programming. It is also a reference or self-study guide for computer software engineers already working in the industry.

- This book contains the best of author's 30+ years of experiences across many fields in the U.S. computer software industry.

- It features software design principles and programming tips for developing first-class software and author's definition of first-class software.

- Author presents elegant and very simple solutions for many common real-world problems such as update loss, cross-endian, alignment, backward and forward compatibility, socket applications, distributed applications, network security and PKI.

- Following are some of the highlights from the book. - Pthreads programming. Using pthread local storage to solve reentrant deadlock problems, using mutex and condition variables to solve producer-consumer problems. Fix dangling mutex. Thread cancellation points.

- Concurrency control using the fastest locking routines of your own, gaining performance improvements up to 80+%, ways to prevent deadlocks.

- Strength and weakness of various interprocess communication mechanisms. Real program examples for designing shared memory and concurrent updates of shared memory.

- In network socket programming, supporting IPv4 and IPv6, asynchronous connect, automatic reconnect, multicast, multithreaded server, looking up port number at run-time, fixed or dynamic ports, socket options, platform discrepancies and performance tuning.

- In distributed system programming, cross-endian, alignment issues, versioning, maintaining backward and forward compatibility, and designing in defense of Denial of Service (DOS) attacks are discussed and program examples are provided.

- On computer network security, aspects of security covered include authentication, secrecy, message integrity and non-repudiation. Symmetric and asymmetric cryptography. Client-server programs doing encryption/decryption, message digest, HMAC, digital signature, and SSL/TLS are provided. SSL handshake messages. SSL/TLS programming using OpenSSL. PKI. Creating all self-signed X.509 certificates, converting between different certificate file formats, verifying certificates signed by multiple chains of CAs, requiring client authentication in SSL/TLS.

- 200+ ready-to-use example C programs which were tested in RedHat Linux, IBM AIX, Oracle/Sun Solaris, HP HP-UX, and Apple Darwin. The networking example programs were tested in Windows as well.

- Volume I contains chapters 1-11. Volume II contains chapters 12-16.

- Read this book to become an expert in computer system programming and an excellent software architect.

- This book is recommended by Bookauthority as one of the best Network Programming books. And it has had sales in US, Canada, Germany and Japan.

商品描述(中文翻譯)

- 本書旨在使讀者成為使用可攜式標準 POSIX API 的程式設計專家和優秀的軟體架構師,這些 API 位於作業系統的 API 層級。它提供了系統層級程式設計所需的所有知識、概念、技術、技巧、技能和問題解決方案的系統性教育。

- 本書包含計算機科學/工程或軟體工程學生必須具備的知識、技能和訓練。

- 如果您是一名在作業系統、資料庫管理系統、分散式系統、叢集系統、網路軟體、計算機網路安全和客戶端-伺服器應用程式中開發系統軟體的軟體工程師,這是一本必讀的書籍。

- 本書旨在作為大學系統程式設計課程的教科書,無論是一年的系統程式設計課程,還是一學期的系統程式設計課程,接著再上一學期的網路程式設計課程。它也是已在業界工作的計算機軟體工程師的參考或自學指南。

- 本書包含作者在美國計算機軟體產業超過 30 年經驗的精華。

- 本書介紹了軟體設計原則和開發一流軟體的程式設計技巧,以及作者對一流軟體的定義。

- 作者為許多常見的現實世界問題提供了優雅且非常簡單的解決方案,例如更新丟失、跨端序、對齊、向後和向前相容性、套接字應用程式、分散式應用程式、網路安全和 PKI。

- 以下是本書的一些重點:- Pthreads 程式設計。使用 pthread 本地儲存解決可重入死鎖問題,使用互斥鎖和條件變數解決生產者-消費者問題。修正懸空的互斥鎖。執行緒取消點。

- 使用您自己的最快鎖定例程進行併發控制,性能提升可達 80% 以上,防止死鎖的方法。

- 各種進程間通信機制的優缺點。設計共享記憶體和共享記憶體的併發更新的實際程式範例。

- 在網路套接字程式設計中,支持 IPv4 和 IPv6、非同步連接、自動重連、多播、多執行緒伺服器、運行時查找埠號、固定或動態埠、套接字選項、平台差異和性能調整。

- 在分散式系統程式設計中,討論了跨端序、對齊問題、版本控制、維持向後和向前相容性,以及設計以防止拒絕服務(DOS)攻擊,並提供程式範例。

- 在計算機網路安全方面,涵蓋的安全方面包括身份驗證、保密性、訊息完整性和不可否認性。對稱和非對稱加密。提供進行加密/解密、訊息摘要、HMAC、數位簽名和 SSL/TLS 的客戶端-伺服器程式。SSL 握手訊息。使用 OpenSSL 進行 SSL/TLS 程式設計。PKI。創建所有自簽名的 X.509 證書,轉換不同證書檔案格式,驗證由多條 CA 鏈簽署的證書,要求在 SSL/TLS 中進行客戶端身份驗證。

- 提供 200 多個可即用的 C 範例程式,這些程式在 RedHat Linux、IBM AIX、Oracle/Sun Solaris、HP HP-UX 和 Apple Darwin 上進行了測試。網路範例程式也在 Windows 上進行了測試。

- 第一卷包含第 1-11 章。第二卷包含第 12-16 章。

- 閱讀本書以成為計算機系統程式設計的專家和優秀的軟體架構師。

- 本書被 Bookauthority 推薦為最佳網路程式設計書籍之一,並在美國、加拿大、德國和日本有銷售。

作者簡介

Jin-Jwei Chen

earned his MS degree in computer engineering from University of Massachusetts at Amherst. After that he worked in the computer software industry in the U.S. for over three decades. His experiences include Unix kernels, database internals, network security, clustered systems, application servers, network management and web services. He authored an U.S. patent named 'Zero and Near-zero Data Loss Database Backup and Recovery' with more than one dozen claims. He also designed and implemented Unix kernel callout to user commands in 1990s which should have been patented.

作者簡介(中文翻譯)

陳金偉

獲得麻省大學阿默斯特分校的計算機工程碩士學位。此後,他在美國的計算機軟體產業工作了超過三十年。他的經驗包括 Unix 核心、資料庫內部結構、網路安全、叢集系統、應用伺服器、網路管理和網路服務。他擁有一項名為「零和近零資料損失資料庫備份與恢復」的美國專利,該專利包含超過十項權利要求。他還在1990年代設計並實現了 Unix 核心對用戶命令的調用,這項技術本應該申請專利。