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.
This is the next book to read after Harley Hahn's Guide to Unix/Linux. Takes you through building a basic shell and demonstrates the inner workings of the Unix shell.
This textbook provides a top-down approach to understand the OS, using three step-by-step questions: (1) What does the user program do; (2) Which system calls does the program use? Use the man and grep command to confirm them ; (3) Write your own version, compare with that of the OS, and consider how to optimize it in the algorithm.
This approach also reflects “the separation of policy and mechanism”, one of principles of UNIX programming. The key ingredient is the system call.
It is a pity that this book has no revised edition. Some code now fails to run on the runtime environment. It makes this book a little old-fashioned.