The Linux Programming Interface: A Linux and UNIX System Programming Handbook (Hardcover)

Michael Kerrisk

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

商品描述

The Linux Programming Interface is the definitive guide to the Linux and UNIX programming interface—the interface employed by nearly every application that runs on a Linux or UNIX system.

In this authoritative work, Linux programming expert Michael Kerrisk provides detailed descriptions of the system calls and library functions that you need in order to master the craft of system programming, and accompanies his explanations with clear, complete example programs.

You'll find descriptions of over 500 system calls and library functions, and more than 200 example programs, 88 tables, and 115 diagrams. You'll learn how to:

  • Read and write files efficiently
  • Use signals, clocks, and timers
  • Create processes and execute programs
  • Write secure programs
  • Write multithreaded programs using POSIX threads
  • Build and use shared libraries
  • Perform interprocess communication using pipes, message queues, shared memory, and semaphores
  • Write network applications with the sockets API

While The Linux Programming Interface covers a wealth of Linux-specific features, including epoll, inotify, and the /proc file system, its emphasis on UNIX standards (POSIX.1-2001/SUSv3 and POSIX.1-2008/SUSv4) makes it equally valuable to programmers working on other UNIX platforms.

The Linux Programming Interface is the most comprehensive single-volume work on the Linux and UNIX programming interface, and a book that's destined to become a new classic.



Praise for The Linux Programming Interface

"If I had to choose a single book to sit next to my machine when writing software for Linux, this would be it." —Martin Landers, Software Engineer, Google

"This book, with its detailed descriptions and examples, contains everything you need to understand the details and nuances of the low-level programming APIs in Linux . . . no matter what the level of reader, there will be something to be learnt from this book." —Mel Gorman, Author of Understanding the Linux Virtual Memory Manager

"Michael Kerrisk has not only written a great book about Linux programming and how it relates to various standards, but has also taken care that bugs he noticed got fixed and the man pages were (greatly) improved. In all three ways, he has made Linux programming easier. The in-depth treatment of topics in The Linux Programming Interface . . . makes it a must-have reference for both new and experienced Linux programmers." —Andreas Jaeger, Program Manager, openSUSE, Novell

"Michael's inexhaustible determination to get his information right, and to express it clearly and concisely, has resulted in a strong reference source for programmers. While this work is targeted at Linux programmers, it will be of value to any programmer working in the UNIX/POSIX ecosystem." —David Butenhof, Author of Programming with POSIX Threads and Contributor to the POSIX and UNIX Standards

". . . a very thorough—yet easy to read—explanation of UNIX system and network programming, with an emphasis on Linux systems. It's certainly a book I'd recommend to anybody wanting to get into UNIX programming (in general) or to experienced UNIX programmers wanting to know 'what's new' in the popular GNU/Linux system." —Fernando Gont, Network Security Researcher, IETF Participant, and RFC Author

". . . encyclopedic in the breadth and depth of its coverage, and textbook-like in its wealth of worked examples and exercises. Each topic is clearly and comprehensively covered, from theory to hands-on working code. Professionals, students, educators, this is the Linux/UNIX reference that you have been waiting for." —Anthony Robins, Associate Professor of Computer Science, The University of Otago

"I've been very impressed by the precision, the quality and the level of detail Michael Kerrisk put in his book. He is a great expert of Linux system calls and lets us share his knowledge and understanding of the Linux APIs." —Christophe Blaess, Author of Programmation systeme en C sous Linux

". . . an essential resource for the serious or professional Linux and UNIX systems programmer. Michael Kerrisk covers the use of all the key APIs across both the Linux and UNIX system interfaces with clear descriptions and tutorial examples and stresses the importance and benefits of following standards such as the Single UNIX Specification and POSIX 1003.1." —Andrew Josey, Director, Standards, The Open Group, and Chair of the POSIX 1003.1 Working Group

"What could be better than an encyclopedic reference to the Linux system, from the standpoint of the system programmer, written by none other than the maintainer of the man pages himself? The Linux Programming Interface is comprehensive and detailed. I firmly expect it to become an indispensable addition to my programming bookshelf." —Bill Gallmeister, Author of POSIX.4 Programmer's Guide: Programming for the Real World

". . . the most complete and up-to-date book about Linux and UNIX system programming. If you're new to Linux system programming, if you're a UNIX veteran focused on portability while interested in learning the Linux way, or if you're simply looking for an excellent reference about the Linux programming interface, then Michael Kerrisk's book is definitely the companion you want on your bookshelf." —Loic Domaigne, Chief Software Architect (Embedded), Corpuls.com

商品描述(中文翻譯)

《Linux程式設計介面》是Linux和UNIX程式設計介面的權威指南,幾乎每個在Linux或UNIX系統上運行的應用程式都使用這個介面。

在這本權威著作中,Linux程式設計專家Michael Kerrisk詳細描述了系統調用和庫函數,這些是您需要掌握系統程式設計技巧的基礎,並通過清晰完整的示例程式來解釋。

您將找到超過500個系統調用和庫函數的描述,以及200多個示例程式、88個表格和115個圖表。您將學習如何:

- 高效讀寫文件
- 使用信號、時鐘和計時器
- 創建進程並執行程式
- 編寫安全程式
- 使用POSIX線程編寫多線程程式
- 構建和使用共享庫
- 使用管道、消息隊列、共享內存和信號量進行進程間通信
- 使用套接字API編寫網路應用程式

雖然《Linux程式設計介面》涵蓋了豐富的Linux特定功能,包括epoll、inotify和/proc文件系統,但它對UNIX標準(POSIX.1-2001/SUSv3和POSIX.1-2008/SUSv4)的重視使其對在其他UNIX平台上工作的程式設計師同樣有價值。

《Linux程式設計介面》是關於Linux和UNIX程式設計介面最全面的單卷著作,必將成為一本新的經典之作。

對《Linux程式設計介面》的讚譽:

「如果我必須選擇一本書放在我寫Linux軟體時的旁邊,這本就是它。」- Martin Landers,Google軟體工程師

「這本書以其詳細的描述和示例,包含了您需要了解Linux低階程式設計API的細節和細微差別的一切...無論讀者的程度如何,都能從這本書中學到東西。」- Mel Gorman,《了解Linux虛擬記憶管理器》作者

「Michael Kerrisk不僅寫了一本關於Linux程式設計及其與各種標準的偉大著作,還注意到並修正了他發現的錯誤,並改進了手冊。在這三個方面,他使Linux程式設計變得更容易。《Linux程式設計介面》對主題的深入處理...使其成為新手和有經驗的Linux程式設計師必備的參考資料。」- Andreas Jaeger,openSUSE計畫經理,Novell

「Michael對獲取正確資訊並清晰簡明地表達的不懈努力,使他的書成為程序員的強大參考資料。雖然這本書針對Linux程式設計師,但對於在UNIX/POSIX生態系統中工作的任何程式設計師都有價值。」- David Butenhof,《使用POSIX線程編程》作者,POSIX和UNIX標準貢獻者

「...在其廣度和深度的涵蓋範圍上是百科全書式的,並且在其豐富的實例和練習中像教科書一樣。每個主題都清晰而全面地涵蓋了理論到實際工作程式碼。專業人士、學生、教育工作者,這是您一直在尋找的Linux/UNIX參考資料。」- Fernando Gont,網路安全研究員,IETF參與者,RFC作者