6 of 6 people found the following review helpful:
5.0 out of 5 stars
Fantastic, December 30, 2002
This review is from: Understanding UNIX/LINUX Programming: A Guide to Theory and Practice (Paperback)
"Understanding Unix/Linux Programming" takes an interesting approach trying to show the principles of Unix programming, it analyses the shell commands using three steps:
I. use the command
II. find information about the command
III. create the command using C language and the standard library
Thus, it doesn't only teach Unix/Linux programming it presents a way of thinking and solving a problem using the available information someone can obtain from man pages.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
7 of 8 people found the following review helpful:
5.0 out of 5 stars
An excellent course through Unix and Linux with copious code and examples., October 28, 2005
This review is from: Understanding UNIX/LINUX Programming: A Guide to Theory and Practice (Paperback)
Unix has had the luxury of being one of the most documented operating systems in history. Many books have been dedicated to documenting the internals of Unix and Unix-like systems and some have risen to the ranks of classic texts regarded by all as necessary to understanding the inner workings of Unix. Understanding Unix®/Linux Programming would be in excellent company with these books. The book contains a copious amount of code and clear, diagramed explanations describing the processes transpiring in the machine.
Understanding Unix®/Linux Programming is designed to be used in an operating systems course with programmers fluent in C. Fortunately, though, the book can be used outside of the classroom if the reader does not mind an occasional open-ended questions with no included answers. The book may seem light on pages (530 including index), but the author should get an award for jamming so much useful explanation and helpful (and complete) code. The format of each chapter is familiar to most textbooks, with an introduction to the task at hand, explanations and examples, a summary, a list of explorations to further understand the topics presented, and a set of programming exercises. The exercises are creative and directly relate to the presented code. They're also (dare I say it?) fun. I'm not saying they'll replace crossword puzzles, but they do present creative or obvious challenges to the reader. (Like handling when a user types 'exit' from a shell, or blinking the text in an ncurses application).
The book includes topics on file I/O, device I/O, timers, process management, stream and datagram sockets, POSIX threads, file systems, the terminal driver, signals pipes, network programming and semaphores. A typical chapter will introduce an operating system concept (file systems and directories, for instance) and will briefly describe the current Unix command for working with that concept (pwd for determining the present working directory, or ls for listing the contents of a directory, and so forth). The author then proceeds to give a detailed description of what the operating system does to run the command. In the chapter on processes and programs, the author describes what processes are and how to use the ps command. Next the author describes how to fork child processes, and wait for them. This leads to the 'prompting shell', which is a simple, yet functional shell environment. Now some books would leave this exercise after creating a semi-functional shell, but the author presses on and in the next chapter creates 'small-shell' which is an interactive shell with a minimal scripting langauge and variable support. All of this in the span of 71 pages, with plenty of examples, full code listings, diagrams, and problem sets.
Understanding Unix®/Linux Programming takes advantage of the inquisitive nature of coders by presenting commands and command squences we all take for granted, and turning them into "how do they work" learning experiences. Anyone who has ever stopped to think why certain things work the way they do in Unix (or work at all) will find this book immensely helpful in sating that curiousity. Students who are assigned this textbook for a class should thank their teacher for choosing a genuinely useful text from which to read. I can't help but be jealous of students who will use this book for their classes. That jealousy is short-lived though, as anyone who wants an excellent resource for learning Unix programming will benefit from picking up this book. Kudos to the author for crafting not only an exceptionally easy to read and thourough book, but for taking the complex machinations of Unix and making them simple and accessible for all coders.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
4 of 4 people found the following review helpful:
5.0 out of 5 stars
Excellent book on signals, June 1, 2003
This review is from: Understanding UNIX/LINUX Programming: A Guide to Theory and Practice (Paperback)
I have been looking for a book that went into details with signals and sockets. This has me a lot in my job and the book
has solved my programming problems in many ways. I hope many can make use of this book because I have. I definitely recommend this book for beginner on Unix programming. It has many good examples to follow.
Take the time to read this book. It is very resourceful and will give you a very good understanding of the Unix Kernel and Commands.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No