» » Advanced UNIX programming

Download Advanced UNIX programming fb2

by Marc J Rochkind
Download Advanced UNIX programming fb2
Programming
  • Author:
    Marc J Rochkind
  • ISBN:
    0130118184
  • ISBN13:
    978-0130118189
  • Genre:
  • Publisher:
    Prentice-Hall (1985)
  • Pages:
    265 pages
  • Subcategory:
    Programming
  • Language:
  • FB2 format
    1548 kb
  • ePUB format
    1921 kb
  • DJVU format
    1189 kb
  • Rating:
    4.8
  • Votes:
    466
  • Formats:
    lrf azw rtf mbr


We’re dedicated to reader privacy so we never track you.

Since 1985, the one book to have for mastering UNIX application programming has been Rochkind's Advanced UNIX Programming.

Since 1985, the one book to have for mastering UNIX application programming has been Rochkind's Advanced UNIX Programming.

Publisher: Addison-Wesley Professional. Release Date: April 2004. Since 1985, the one book to have for mastering UNIX application programming has been Rochkind's Advanced UNIX Programming.

a great book LINUX Journal.

Portions marked "Open Source" may be copied under license. a great place to start TechBookReport. a great book LINUX Journal. a must have Slashdot. Advanced UNIX Programming is the long-awaited (19 years!) update to the 1985 original. Maybe "update" isn't the right word-of the 750-or-so pages in the new book, there are maybe two dozen paragraphs that are unchanged. The original covered about 70 system calls, and the new one covers about 300. Read the Table of Contents.

Advanced UNIX Programming book. Details (if other): Cancel.

The changes to UNIX programming that have taken place since 1985 are extensive to say the least.

book by Marc J. Rochkind. The changes to UNIX programming that have taken place since 1985 are extensive to say the least. A comprehensive examination of UNIX system calls - the interface between user programs and the kernel. features in-depth coverage of AT&T Systems III and V, IBMs PC/IX, and Microsofts Xenix 3. offers practical advice on how and when to use - and not use - system calls, based on the authors extensive experience with UNIX. provides hints on making applications portable.

A comprehensive examination of UNIX system calls - the interface between user programs and the kernel.* features in-depth coverage of AT&T Systems III and V, IBMs PC/IX, and Microsofts Xenix 3. offers practical advice on how and when to use - and not use - system calls, based on the authors extensive experience with UNIX. provides hints on making applications portable. emphasizes strengths and limitations of UNIX. explains the rationale behind many UNIX design features. contains a logical grouping of system calls to facilitate study in conjunction with operating system texts. contains over 100 detailed, tested example programs.

Deeroman
I am a systems administrator professionally, but I have a need to know the inner workings of UNIX that only seems to be covered in programming books. Specifically relating to certain system calls and interprocess communication methods.

This author has forgotten more about UNIX than I will ever grasp. While this book is dedicated to programming applications in UNIX and understanding the operating system's function calls, I am finding it to be a very handy reference for advanced system administration as well. The book is worth the price just for the chapters on process communication, in my opinion.

I really like the author's writing style. He gets down to business and covers the material without adding a lot of needless fluff or by making the chapters overly wordy.

The book is designed to server as a reference and is well-indexed, which is refreshing to find these days. It's very easy to find a topic you need as not everyone will need the amount of depth covered by each chapter in full.

I wish there were more UNIX books out there like this one.
Unnis
This book starts at the beginning, assumes very little, and takes you quickly to the essentials you need to know about unix. The text is clear but too verbose - you can actually finish this book, which I find important for programmers who want to get a sound introduction and then get to coding. The new edition is updated for modern unix-like systems.
Mr_Mix
I've meet the original edition from my Boss. He had a parcial photocopy of some chapters, maybe from his student days. I really enjoyed the book.

Many things happened since the first edition. This update was very need. It cover mostly system calls, as available on UNIX (Solaris), Linux and FreeBSD.

I was lucky enough to buy a second hand copy, like new.
Funky
All is OK
Goldcrusher
The book is good for beginners. All you need to know to get started with Unix/Linux programming.
Mejora
I guess amazon maybe send me a fake one before. The former one’ papers become yellow, the cover is smooth, the priting on the cover are blur, the cover itself are smooth. The new one amazon sent it to me , its papers are clean and white, you could feel the two images on the cover are not even, most importanly, the new one got more papers than the former one.
BoberMod
This book is truly exceptional - it covered the UNIX programming environment from beginning to the end very well. Marc Rochkind has done an amazing job updating his classic book.

A brief history of UNIX and a history of various UNIX standards such as POSIX, SUS and pretty much all the others plus a 30 minute crash course in the underlying structure of UNIX get the readers going. If you are anything like me that hasn't as much a thought about how process ID's are used and the creation child processes and how permission plays a role in process creation, you will enjoy this section. I learned that its one thing to "use" UNIX, and another to really understand it deep down. The standards that are out there really throws you off though as there are so many of them. How and which one to choose? It gets rather complicated. Marc spends the first section talking about all the difficulties of "choosing a standard", and then gives you a header file that you can plug into your code and off you go. I was pleased by that. I have already started using that header file in my code and I find it rather useful.

Starting from the basics of files and file access, every one of the function calls are depicted in full and example is given for each one of them. This book is like a big "how-to" notebook that one can pick and choose what to read where to get valuable information from as one needs it. Another thing that the author does throughout his book, which made me very happy, was the little tables of "stats comparisons" between the various options and settings that were just discussed. No more guessing games as to what to expect or what to test. It's all right there. I know, for example, that blocked-sized I/O of 512 bytes takes less than a second to complete versus 223 seconds when a character at a time is read. You might think that this information is rather trivial, but do you know the difference in the time that it takes to access data stored in a regular file versus data stored on a raw disk device?

Accessing the terminal can get rather complicated with all the options available, and I didn't know was how much more complicated this matter gets due to the relations that terminals have with sessions and process groups. Process group, session leader, process-group leader and the controlling process could make you life as a programmer very difficult if you don't know how they inter-relate. The power of UNIX comes in a box - you have to open it to see inside, but be very prepared before you open up that box.

If you have done any network programming if your life, you want to know the details and options that are available to you if you are using "select" or "pselelct". What the timeout options are, and how you can use the "poll" system call to achieve the same task as "select", but more efficiently at times.

Threads, Processes and their inner workings are covered extensively in this book, as one would assume. The difference in this author's explanation of these two topics is the presentation. The author in talking about these topics, and everything else from here on, builds a fairly complete command interpreter! Starts rather small, but by the end of the book, it is a full blown UNIX like CLI with pipelines, background processes, quoted arguments, handling of I/O redirection and accepting of environment variables. Processes and threads start the discussion with "fork", "exec" and other similar and related function calls. A great deal of time is spent talking bout these two rather important calls, and how they are used, options, inheritance of those options, and programming hints and examples for each one of them. Threads and synchronization of threads via mutex and conditional variables are the next topic if discussion. Threads could get a bit more complicated, so you should spend a bit more time reading this section. The author starts you of easy though. No mutex or race conditions are considered at first. It then gets rather interesting with the various race conditions that the authors has the reader think thru.

Communication between threads processes have always been an interesting topic to cover. Pipes, names pipes, shared memory and sockets. Pipes are rather easy. They have their limitations, which are discussed in full, but they are rather easy. Names pipes (queues) and unidirectional pipes get the reader going, if you have not done any Interprocess Communication before. Even if you have, it's good to revisit something that is not really used these days. Messages, semaphores, sockets and shared memory are covered in a great depth by the author. What I absolutely love about this book comes in these later sections of the book. Marc, in depicting these topics and sections builds, from scratch, what could essentially be called a middleware - Simple Messaging Interface (SMI) he calls it.

SMI is probably one of the best book examples I have seen. Besides the fact that it is very useful and practical all into itself, it also promotes good network programming practice. SMI is first implemented with Names Pipes or FIFOs, then using Message Queues, then Semaphores and finally via Shared Memory. Very well done Marc. If that's not enough, all of the implementations are compared with each other, and pros and cons of each one is given to aid a developer or a designer in choosing the right methodology.

The Simple Socket Interface is the Socket implementation version of the SMI. Again, very well done and prescribed by the author. Besides being very good teaching tools, they are also very practical and useful; something that we are should have in our toolbox.

I highly recommend this book to any developer; designer or an architect as it is very good teaching aid for all.
This is an exceptional introduction to Unix features that most people won't see in every-day programming. The feature that Rochkind starts with may be the most problematic: portability. There have historically been dozens of Unices (sp?), all slightly different from each other. Even today, there are a number of different implementations in use, with small but maddening incompatibilities between them. Rochkind not only addresses the more common ones, he shows the standards-based ways of dealing with their differences.

After that, Rochkind goes over read/write/open/close/ioctl again, dealing with [a]synchronous subtleties that can mean a 100x difference in performance, backed by code samples and timing measurements. The rest of the book deals with multi-process applications, including communication and distributed processing issues. That includes process groups, interprocess communication (with all its system-dependent weirdness), sockets, and signals.

This isn't for the beginner or for the kernel developer, but never meant to be for either. It is a good, readable introduction to protentially tricky parts of the Unix API. I recommend it strongly to anyone building their own library of Unix references.

//wiredweird