Understanding Unix(R)/Linux Programming explains how Unix and Linux work and shows how to write, programs at the system call level. Using nearly 100 complete programs and over 200 illustrations, the book demonstrates the basics as well as the advanced aspects of Unix systems programming. Topics include: *file I/0 *device I/0 *timers *process management *stream and datagram sockets *POSIX threads *file systems *the terminal driver *signals *pipes *network programming *semaphores The text presents theory in practical contexts with detailed explanations of common Unix programs such as who, Is, pwd, sh, and httpd. Each example starts with a description of what the program does and how people use it. From there, the text discusses the underlying principles and mechanisms, and then uses those ideas to write a version of the program. The book is designed for learning. Chapter summaries, memorable analogies, experiments, explorations, and varied exercises help the reader understand and program Unix as an integrated, logical whole. Material in the book applies to all versions of Unix and Linux.
The book assumes the reader knows the C programming language and is familiar with a modern operating system. The book is suitable as a class text, for self-study, and for reference, and it provides thorough coverage of information essential to students, Unix programmers, and system administrators.
Bruce Molay, an award-winning teacher at Harvard and an independent software developer for over two decades, has combined his two passions of masterly teaching and Unix programming in this book.