The Linux Programming Interface: A Linux and UNIX System Programming Handbook


The Linux Programming Interface: A Linux and UNIX System Programming Handbook
By 作者: Michael Kerrisk
ISBN-10 书号: 1593272200
ISBN-13 书号: 9781593272203
Edition 版本: 1
Release Finelybook 出版日期: October 28, 2010
Pages 页数: 1552
5

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

Contents


1: History and Standards
2: Fundamental Concepts
3: System Programming Concepts
4: File I/O: The Universal I/O Model
5: File I/O: Further Details
6: Processes
7: Memory Allocation
8: Users and Groups
9: Process Credentials
10: Time
11: System Limits and Options
12: System and Process Information
13: File I/O Buffering
14: File Systems
15:File Attributes
16: Extended Attributes
17: Access Control Lists
18: Directories and Links
19: Monitoring File Events
20: Signals: Fundamental Concepts
21: Signals: Signal Handlers
22: Signals: Advanced Features
23: Timers and Sleeping
24: Process Creation
25: Process Termination
26: Monitoring Child Processes
27: Program Execution
28: Process Creation and Program Execution in More Detail
29: Threads: Introduction
30: Threads: Thread Synchronization
31: Threads: Thread Safety and Per-Thread Storage
32: Threads: Thread Cancellation
33: Threads: Further Details
34: Process Groups, Sessions, and Job Control
35: Process Priorities and Scheduling
36: Process Resources
37: Daemons
38: Writing Secure Privileged Programs
39: Capabilities
40: Login Accounting
41: Fundamentals of Shared Libraries
42: Advanced Features of Shared Libraries
43: Interprocess Communication Overview
44: Pipes and FIFOs
45: Introduction to System V IPC
46: System V Message Queues
47: System V Semaphores
48: System V Shared Memory
49: Memory Mappings
50: Virtual Memory Operations
51: Introduction to POSIX IPC
52: POSIX Message Queues
53: POSIX Semaphores
54: POSIX Shared Memory
55: File Locking
56: Sockets: Introduction
57: Sockets: UNIX Domain
58: Sockets: Fundamentals of TCP/IP Networks
59: Sockets: Internet Domains
60: Sockets: Server Design
61: Sockets: Advanced Topics
62: Terminals
63: Alternative I/O Models
64: Pseudoterminals
A: Tracing System Calls
B: Parsing Command-Line Options
C: Casting the NULL Pointer
D: Kernel Configuration
E: Further Sources of Information
F: Solutions to Selected Exercises


下载地址

The Linux Programming Interface 9781593272203.epub

下载地址

The Linux Programming Interface 9781593272203.mobi

下载地址

The Linux Programming Interface 9781593272203.pdf

赞(0) 觉得文章有用就打赏一下文章作者
未经允许不得转载:finelybook » The Linux Programming Interface: A Linux and UNIX System Programming Handbook
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏