By Michael Kerrisk
The Linux Programming Interface is the definitive consultant to the Linux and UNIX programming interface—the interface hired by way of approximately each program that runs on a Linux or UNIX system.
In this authoritative paintings, Linux programming professional Michael Kerrisk offers designated descriptions of the process calls and library features that you simply desire to be able to grasp the craft of method programming, and accompanies his factors with transparent, whole instance programs.
You'll locate descriptions of over 500 method calls and library capabilities, and greater than two hundred instance courses, 88 tables, and a hundred and fifteen diagrams. you will find out how to:
- Read and write records efficiently
- Use signs, clocks, and timers
- Create procedures and execute programs
- Write safe programs
- Write multithreaded courses utilizing POSIX threads
- Build and use shared libraries
- Perform interprocess conversation utilizing pipes, message queues, shared reminiscence, and semaphores
- Write community purposes with the sockets API
While The Linux Programming Interface covers a wealth of Linux-specific gains, together with epoll, inotify, and the /proc dossier process, its emphasis on UNIX criteria (POSIX.1-2001/SUSv3 and POSIX.1-2008/SUSv4) makes it both useful to programmers engaged on different UNIX platforms.
The Linux Programming Interface is the main complete single-volume paintings at the Linux and UNIX programming interface, and a ebook that is destined to turn into a brand new classic.
Praise for The Linux Programming Interface
"If I needed to pick out a unmarried e-book to sit down subsequent to my computing device while writing software program for Linux, this is able to be it."—Martin Landers, software program Engineer, Google
"This e-book, with its targeted descriptions and examples, includes every thing you want to comprehend the main points and nuances of the low-level programming APIs in Linux . . . it doesn't matter what the extent of reader, there'll be anything to be learnt from this book."—Mel Gorman, writer of Understanding the Linux digital reminiscence Manager
"Michael Kerrisk has not just written a good booklet approximately Linux programming and the way it pertains to numerous criteria, yet has additionally taken care that insects he spotted obtained fastened and the fellow pages have been (greatly) enhanced. In all 3 ways, he has made Linux programming more straightforward. The in-depth remedy of issues in The Linux Programming Interface . . . makes it essential reference for either new and skilled Linux programmers."—Andreas Jaeger, application supervisor, openSUSE, Novell
"Michael's inexhaustible decision to get his info correct, and to specific it in actual fact and concisely, has led to a powerful reference resource for programmers. whereas this paintings is focused at Linux programmers, will probably be of price to any programmer operating within the UNIX/POSIX ecosystem."—David Butenhof, writer of Programming with POSIX Threads and Contributor to the POSIX and UNIX Standards
". . . a truly thorough—yet effortless to read—explanation of UNIX process and community programming, with an emphasis on Linux structures. it is definitely a e-book i might suggest to anyone desirous to get into UNIX programming (in normal) or to skilled UNIX programmers desirous to be aware of 'what's new' within the renowned GNU/Linux system."—Fernando Gont, community defense Researcher, IETF player, and RFC Author
". . . encyclopedic within the breadth and intensity of its insurance, and textbook-like in its wealth of labored examples and workouts. every one subject is obviously and comprehensively lined, from conception to hands-on operating code. pros, scholars, educators, this is often the Linux/UNIX reference that you've got been ready for."—Anthony Robins, affiliate Professor of laptop technology, The college of Otago
"I've been very inspired by means of the precision, the standard and the extent of element Michael Kerrisk installed his e-book. he's an excellent specialist of Linux method calls and shall we us proportion his wisdom and knowing of the Linux APIs."—Christophe Blaess, writer of Programmation systeme en C sous Linux
". . . a necessary source for the intense or expert Linux and UNIX structures programmer. Michael Kerrisk covers using the entire key APIs throughout either the Linux and UNIX procedure interfaces with transparent descriptions and instructional examples and stresses the significance and advantages of following criteria equivalent to the one UNIX Specification and POSIX 1003.1."—Andrew Josey, Director, criteria, The Open staff, and Chair of the POSIX 1003.1 operating Group
"What should be greater than an encyclopedic connection with the Linux procedure, from the perspective of the process programmer, written by way of none except the maintainer of the guy pages himself? The Linux Programming Interface is finished and exact. I firmly anticipate it to develop into an quintessential addition to my programming bookshelf."—Bill Gallmeister, writer of POSIX.4 Programmer's advisor: Programming for the true World
". . . the main entire and updated publication approximately Linux and UNIX approach programming. if you are new to Linux method programming, in case you are a UNIX veteran interested in portability whereas attracted to studying the Linux means, or if you are easily trying to find a great reference concerning the Linux programming interface, then Michael Kerrisk's booklet is well the spouse you will want in your bookshelf."—Loic Domaigne, leader software program Architect (Embedded), Corpuls.com
Preview of The Linux Programming Interface: A Linux and UNIX System Programming Handbook PDF
Best Linux books
Up to date, entire advice for constructing Embedded recommendations with Linux Linux has emerged as today’s no 1 working process for embedded items. Christopher Hallinan’s Embedded Linux Primer has confirmed itself because the definitive real-world consultant to construction effective, high-value, embedded structures with Linux.
Ubuntu is a whole, loose working procedure that emphasizes group, aid, and simplicity of use with out compromising velocity, energy, or flexibility. It’s Linux for humans, designed for everybody from computing device beginners to specialists. Ubuntu 10. 04 is the most recent release—more robust, extra versatile, and friendlier than ever.
With more and more networks and mission-critical functions operating on Linux, approach, and community directors needs to be in a position to do greater than manage a server and depend upon its default configuration. this article is designed that can assist you in attaining a better point of competence. It specializes in robust ideas and lines of Linux networking and gives you with the information you must increase server potency, improve protection, and adapt to new standards.
Introduces Linux ideas to programmers who're accustomed to different working structures similar to home windows XP offers accomplished insurance of the Pentium meeting language
Additional info for The Linux Programming Interface: A Linux and UNIX System Programming Handbook
1 The GNU venture In 1984, Richard Stallman, an incredibly gifted programmer who were operating at MIT, got to work on making a “free” UNIX implementation. Stallman’s outlook used to be an ethical one, and unfastened used to be outlined in a felony feel, instead of a monetary feel (see http://www. gnu. org/philosophy/free-sw. html). however, the felony freedom that Stallman defined carried with it the implicit outcome that software program equivalent to working platforms will be on hand at no or very cost-efficient. Stallman militated opposed to the felony regulations put on proprietary working structures via computing device proprietors. those regulations intended that buyers of software program commonly couldn't see the resource code of the software program they have been procuring, and so they definitely couldn't replica, swap, or redistribute it. He mentioned that one of these framework inspired programmers to compete with one another and hoard their paintings, instead of to cooperate and percentage it. In reaction, Stallman all started the GNU venture (a recursively outlined acronym for “GNU’s no longer UNIX”) to boost a whole, freely to be had, UNIX-like process, along with a kernel and all linked software program applications, and inspired others to affix him. In 1985, Stallman based the loose software program origin (FSF), a nonprofit association to aid the GNU venture in addition to the improvement of loose software program quite often. whilst the GNU undertaking used to be began, BSD used to be no longer unfastened within the feel that Stallman intended. Use of BSD nonetheless required a license from AT&T, and clients couldn't freely regulate and redistribute the AT&T code that shaped a part of BSD. one of many very important result of the GNU undertaking used to be the advance of the GNU normal Public License (GPL), the criminal embodiment of Stallman’s suggestion of unfastened hello s t o r y a n d S t a n d a rd s five software. a lot of the software program in a Linux distribution, together with the kernel, is approved below the GPL or one in every of a few comparable licenses. software program authorized below the GPL has to be made to be had in resource code shape, and has to be freely redistributable less than the phrases of the GPL. changes to GPL-licensed software program are freely accredited, yet any distribution of such transformed software program should also be below the phrases of the GPL. If the transformed software program is shipped in executable shape, the writer should also enable any recipients the choice of acquiring the converted resource for not more than the price of distribution. the 1st model of the GPL used to be published in 1989. the present model of the license, model three, used to be published in 2007. model 2 of the license, published in 1991, is still in huge use, and is the license used for the Linux kernel. (Discussions of assorted unfastened software program licenses are available in [St. Laurent, 2004] and [Rosen, 2005]. ) The GNU undertaking didn't firstly produce a operating UNIX kernel, yet did produce quite a lot of different courses. considering the fact that those courses have been designed to run on a UNIX-like working approach, they can be, and have been, used on latest UNIX implementations and, at times, even ported to different working platforms.