Compras Nikon Bluetooth |
I was thinking lately what it is about Stevens books that has made them the best material in the industry for the past decade. I cant really nail it, if I could I would have been an author myself and make millions, but the other day it suddenly hit me: When I read Stevens books sometimes a question arises and then I pause to think about it, only to turn the page and find the answer witinf for me. It is about being comprehensive, it is about covering all aspects of the topic, thinking forward on behalf of the reader, thinking what the reader may not understand and how to make it clear.
Well Robbins and Robbins belongs to this category of books.
I am a book maniac and I have most of the Unix/Linux programming books out there. This is by far the best systems programming book available.
The other day I had to look up about asynchronous i/o in Linux and its interaction with POSIX real time signals. Opened the book, read the example, downladed the source code, in an hour I was flying and writing an asynchronous web server in Linux.
For the networking stuff I never bothered to read the relevant chapters of the book since Stevens Network programming is the book I was trained by and it is still relevant.
For my threading needs I used to use Butenhof's "Programming with POSIX threads", but this book has great examples and I learned a lot by browsing it. I mean I had a question about signal interaction with threads and the book had a section about it. Come on, it has saved my butt many many times. It is very comprehensive.
I wholeheartedly recomend it to any serious systems programer, beginner or advanced.
The book is organized twenty-two chapters grouped into four parts. Each part contains topic chapters and project chapters. A topic chapter covers the specified material in a work-along fashion. The topic chapters have many examples and short exercises of the form "try this" or "what happens if". The topic chapters close with one or more exercise sections.
What I liked about the book is that it provides programming exercises for many fundamental concepts in process management, concurrency and communication. These programming exercises are very similar to the exercises you would be doing in a traditional computer science laboratory as part of an operating system course, for instance. Exercises are specified for systematic development, and many can be implemented in under 100 lines of code, which is nice if you want to play with it and experiment different ways of implementing a functionality.
Another important feature of the book is the compliance with the POSIX standards. Since the last edition of the book, a single UNIX specification has been adopted and it is referred to in the book to as POSIX. The authors' examples comply with the POSIX standard.
Something else I really liked is the kind-of support available. The book has its own we site where you can download all the code in the book and email the authors and so on. Check it out at: http://vip.cs.utsa.edu/usp/.
The book basically covers whatever we need know to be able program with threads, TCP/IP, and RPC. The authors explain the essentials of UNIX programming, concentrating on communication, concurrency, and multithreading techniques and why, when, and how to use them in a very tutorial-way using a lot of reusable source code examples that explain syntax along the way.
A nice feature of the book is that it shows how to design complex software to get the best from the UNIX operating system. There are many short examples featured throughout the book and a number of hands-on projects that help readers expand their skill levels. The approach is very practical and uses short code snippets to illustrate how to use system calls.
The book is easy to read and the code examples are complete so that you can compile and run them. This is a nice feature since these exercises and code examples help readers understand and learn the material explained throughout the chapters.
If you want to:
a) Learn UNIX system programming essentials with a concentration on communication, concurrency, and multithreading techniques, with extensive hands-on examples that respect the single UNIX specifications ...
b) Write "correct" code and get the best from your UNIX operating system ...
c) Expand your ideas on how to design and implement robust UNIX software ...
then, check out this book...
You must have a good understanding of C programming and basic data structure to get the most out of this book.
Then I found "Practical UNIX Programming", and called off the dogs. Entombed within this wonderful tome was the lucid explanation and insightful discussion I craved -- and I would have been content to pay full-price for just chapter 8 and the fetching book spine. And yet I quickly found that every chapter was interesting and meaningful. I'd never had much interest in UNIX programming (as I fancy myself a pure Oracle/Java developer), but was immediately ensnared by the clear writing style and pithy content. I couldn't wait to finish the book. Now that I've finished the book, I must admit I haven't found a novel so enjoyable since reading Robert Jordan's Shadow Rising. And in contrast to completing a book from the Wheel of Time series, this been an empowering experience. I'm eager to apply my newfound understanding and apply the knowledge gleaned. So anyway, I'll end this long-winded missive with a big thank you to the authors for forging this gift to humanity.
12 Excellent starting ground to do Unix Programming
I used this book to start to learn from scratch how to programming Unix. This book is self-contained,concise and easy to read. FYI, it is very readable and not dry. There's a number of good diagrams, for example,illustrating file descriptors allocations and the effects of system calls like dup2, etc. The authors uses short code snipplet to illustrate how to use a particular system calls, which I think is rather neat. A number of "projects" very quickly help reader to expand their skill level. Of interest is also a project on distributed "Richard" and "Linda" , the forerunner of Sun's JINI. The authors could have expanded this book another 100 pages and make it a companion to Steven's "Advanced Unix System Programming". I strongly recommend this book to beginners, intermediate Unix Programmers.
13 the best book of its kind....
I bought the copy for my OS course as my 2nd supplymentary book. To read this book is really fun. It clearly tells you how multiprocess, multithread works with good c code. it also covers other interesting topics like socket programming. If you really want to learn unix programming. You must have this book.
14 It's a must for understanding UNIX programming
I bought this book as a reference for my OS course. However, I used this book more than my assigned text book. The provide code are really valuable and it does help me a lot to really understand multiprocess work. there is also another book to read if you want to understand unix programming--> advanced programming in unix environment. with them you won't encounter any diffculity any more in Unix
15 Used this book for a college class taught by the author!
I took a course in Operating Systems with Dr. Steven Robbins at The University of Texas at San Antonio and (naturally) we used this book for understanding the architecture and programming of the UNIX System. The book is much like its author - organized, logical, and clear. Despite being biased, I still heartily recommend this book to anyone who would like to "get to know UNIX better." It is extrememly well organized. The examples are abundant and enlightening. Although the writing can be terse at times, it is always cogent and unambiguous. IMHO, the thing that sets this book a class apart is the constant focus on concurrency and the POSIX standard.
16 Awesome
This is one of the best reference books for UNIX programming I have ever seen. If you plan to write any kind of a distributed or parallel program for UNIX platform this book is a must have. You will find everything you'll ever need for threads, tcp/ip and rpc programming with code pieces that explain syntax and could often be used within your program letter for letter. Just awesome!
17 very bad organization
IT IS A VERY BAD ORGANIZED BOOK ON OPERATION SYSEM. SOMETIME, JUST CAN'T FOLLOW.
18 Excelent. Full theory and great programming projects
With Stevens "Unix network programming" , the best book on Unix programming. Each topic is presented in one chapter and
in the following a project is proposed to put in practice those concepts. Not only it explains
the old and the new features of Unix, but also it
is full of ideas on how to design and implement
good software.
Though less detailed than Stevens in
the description of system calls it shows brilliantly
how to design complex software and get the best
from the OS.
Huge source of ideas. Ideal for those who like to develop software jewels, learn about multithreading
programming or even for a practical OS course at the undergraduate level.
It's hard to drive at the limit, but it's harder to know where the limits are.
-- Stirling Moss
"I quite agree with you," said the Duchess; "and the moral of
that is -- `Be what you would seem to be' -- or, if you'd like it put
more simply -- `Never imagine yourself not to be otherwise than what it
might appear to others that what you were or might have been was not
otherwise than what you had been would have appeared to them to be
otherwise.'"
-- Lewis Carrol, "Alice in Wonderland"