System Programming Vol I

Jin-Jwei Chen

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



- 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.


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.