All Categories
Get it between 2024-12-31 to 2025-01-07. Additional 3 business days for provincial shipping.
- 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 to gain performance improvements up to 80+%, System V and POSIX semaphores, 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 (System Programming). Volume II contains chapters 12-16 (Network Programming). - 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 of all time. It is published in two different languages. And it has had sales in US, Canada, UK, Germany, France, Swiss, Sweden, Japan, Taiwan, China, Brazil, and Australia.