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

Overview

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

See more details below
Hardcover
$58.36
BN.com price
(Save 41%)$99.95 List Price

Pick Up In Store

Reserve and pick up in 60 minutes at your local store

Other sellers (Hardcover)
  • All (22) from $55.53   
  • New (15) from $55.53   
  • Used (7) from $57.83   
Linux Programming Interface: A Linux and UNIX System Programming Handbook

Available on NOOK devices and apps  
  • Nook Devices
  • NOOK HD/HD+ Tablet
  • NOOK
  • NOOK Color
  • NOOK Tablet
  • Tablet/Phone
  • NOOK for Windows 8 Tablet
  • NOOK for iOS
  • NOOK for Android
  • NOOK Kids for iPad
  • PC/Mac
  • NOOK for Windows 8
  • NOOK for PC
  • NOOK for Mac
  • NOOK Study

Want a NOOK? Explore Now

NOOK Book (eBook)
$45.57
BN.com price
(Save 43%)$79.95 List Price

Overview

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

Read More Show Less

Product Details

  • ISBN-13: 9781593272203
  • Publisher: No Starch Press San Francisco, CA
  • Publication date: 1/17/2010
  • Pages: 1552
  • Sales rank: 169,290
  • Product dimensions: 7.40 (w) x 9.30 (h) x 2.20 (d)

Meet the Author

Michael Kerrisk has been using and programming UNIX systems for more than 20 years, and has taught many week-long courses on UNIX system programming. Since 2004, he has maintained the man-pages project, which produces the manual pages describing the Linux kernel and glibc programming APIs. He has written or co-written more than 250 of the manual pages and is actively involved in the testing and design review of new Linux kernel-userspace interfaces. Michael lives with his family in Munich, Germany.

Read More Show Less

Table of Contents

Praise for The Linux Programming InterfaceDedicationPrefaceChapter 1: History and StandardsChapter 2: Fundamental ConceptsChapter 3: System Programming ConceptsChapter 4: File I/O: The Universal I/O ModelChapter 5: File I/O: Further DetailsChapter 6: ProcessesChapter 7: Memory AllocationChapter 8: Users and GroupsChapter 9: Process CredentialsChapter 10: TimeChapter 11: System Limits and OptionsChapter 12: System and Process InformationChapter 13: File I/O BufferingChapter 14: File SystemsChapter 15: File AttributesChapter 16: Extended AttributesChapter 17: Access Control ListsChapter 18: Directories and LinksChapter 19: Monitoring File EventsChapter 20: Signals: Fundamental ConceptsChapter 21: Signals: Signal HandlersChapter 22: Signals: Advanced FeaturesChapter 23: Timers and SleepingChapter 24: Process CreationChapter 25: Process TerminationChapter 26: Monitoring Child ProcessesChapter 27: Program ExecutionChapter 28: Process Creation and Program Execution in More DetailChapter 29: Threads: Introduction Chapter 30: Threads: Thread SynchronizationChapter 31: Threads: Thread Safety and Per-Thread StorageChapter 32: Threads: Thread CancellationChapter 33: Threads: Further DetailsChapter 34: Process Groups, Sessions, and Job ControlChapter 35: Process Priorities and SchedulingChapter 36: Process ResourcesChapter 37: DaemonsChapter 38: Writing Secure Privileged ProgramsChapter 39: CapabilitiesChapter 40: Login AccountingChapter 41: Fundamentals of Shared LibrariesChapter 42: Advanced Features of Shared LibrariesChapter 43: Interprocess Communication OverviewChapter 44: Pipes and FIFOsChapter 45: Introduction to System V IPCChapter 46: System V Message QueuesChapter 47: System V SemaphoresChapter 48: System V Shared MemoryChapter 49: Memory MappingsChapter 50: Virtual Memory OperationsChapter 51: Introduction to POSIX IPCChapter 52: POSIX Message QueuesChapter 53: POSIX SemaphoresChapter 54: POSIX Shared MemoryChapter 55: File LockingChapter 56: Sockets: Introduction Chapter 57: Sockets: UNIX DomainChapter 58: Sockets: Fundamentals of TCP/IP NetworksChapter 59: Sockets: Internet DomainsChapter 60: Sockets: Server Design Chapter 61: Sockets: Advanced TopicsChapter 62: TerminalsChapter 63: Alternative I/O ModelsChapter 64: PseudoterminalsTracing System CallsParsing Command-Line OptionsCasting the NULL PointerKernel ConfigurationFurther Sources of InformationSolutions to Selected ExercisesBibliographyUpdatesColophon

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)