Understanding UNIX/LINUX Programming

Prentice Hall
Bruce Molay  
Total pages
November 2002
Related Titles


Product Price CHF Available  
Understanding UNIX/LINUX Programming
164.40 approx. 7-9 days

Free evaluation copy for lecturers


For courses in Unix Systems Programming, Unix System Administration, and as a supplemental text for courses in Advanced Networks and Systems Programming.

This readable and comprehensive text clearly explains Unix programming and structure by addressing the solid fundamentals of Unix and providing different solutions to problems. All ideas and principles are introduced in the context of a practical problem, and excellent use is made of illustrations and listings in the text. Projects are solved by the development of complete programs, which are clearly commented on and integrated with explanations in the text.


  • Case-study approach to teaching-Each chapter is based on a specific Unix command or programming problem.
    • Enables students to immediately see solutions to specific problems.

  • Standard Unix-specific programs.
    • Allows students to learn how to use the system at the same time they learn how to program it.

  • Copious illustrations-Abstract ideas, structures, and procedures are depicted visually.
    • Reinforces to students fundamental ideas and concepts in an easily understandable manner.

  • Source code to complete programs-Every chapter solves the project(s) presented by developing complete programs.
    • Encourages students to make sense of abstract ideas by showing them concrete examples.

  • Humorous, memorable metaphors.
    • Helps students to retain information with whimsical and unique models.

  • Instructor's CD with extensive pedagogy-Includes lecture outlines, homework projects, blackboard slides, test bank, and solutions to most exercises.
    • Enables instructors to present a complete curriculum, while tailoring the pedagogy to fit their needs.

  • 3D model files.
    • Allows students to explore ideas by enlarging, rotating, and modifying graphics.

  • Web site-With online study guide, link to author's site, homework projects, additional code, and images.
    • Enables students to download programs to further enhance their learning experience.

Table of Contents

(NOTE: Each chapter includes a section stating its objectives and a summary.)

 1. Unix Systems Programming: The Big Picture.

 2. Users, Files, and the Manual: Who Is First.

 3. Directories and File Properties: Looking through ls.

 4. Focus on File Systems: Writing pwd.

 5. Connection Control: Studying stty.

 6. Programming for Humans: Terminal Control and Signals.

 7. Event-Driven Programming: Writing a Video Game.

 8. Processes and Programs: Studying sh.

 9. A Programmable Shell: Shell Variables and the Environment.

10. I/O Redirection and Pipes.

11. Connecting to Processes Near and Far: Servers and Sockets.

12. Connections and Protocols: Writing a Web Server.

13. Programming with Datagrams: A License Server.

14. Threads: Concurrent Functions.

15. IPC Roundup: Can We Talk?

Back Cover

Understanding Unix®/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.

Reader Review(s)

"The material covered goes to the right depth to allow students to understand the UNIX operating system to program it. I wish a book of this calibre was available during my graduate studies as it would have helped me tremendously in learning to program the UNIX system." - Sam R. Thangiah, Slippery Rock University

"This text is one of the most accurate and articulate that I have read. It is easily readable." - Lawrence B. Wells, Dallas County Community College

Instructor Resources