Design of the UNIX Operating System (Prentice Hall Software Series) (英語) ペーパーバック – 1986/5/27
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
Classic description of the internal algorithms and the structures that form the basis of the UNIX operating system and their relationship to programmer interface. The leading selling UNIX internals book on the market.
This book describes the internal algorithms and the structures that form the basis of the UNIX ®operating system and their relationship to the programmer interface. The system description is based on UNIX System V Release 2 supported by AT&T, with some features from Release 3.
Amazon.com で最も参考になったカスタマーレビュー (beta)
This is the book that made all the free variants of Unix, like Linux (in all its flavors), FreeBSD, OpenBSD, NetBSD, etc. possible. The book provides a road map to writing your own version of Unix without violating patents, which isn't such a big deal now, but was a huge obstacle at the time the above mentioned free versions of Unix were being created.
I recently ran a search on this book on O'Reilly's Safarionline.com service. Although they don't have this book (!), it was amazing to see how many computer books quote this text or list it as a reference or in a bibliography.
The book is easy to read, and very clear. You only need a basic understanding of the 'C' language (in which *nix is written) to follow along.
This book is one of the true classics from the early Unix books published by Prentice Hall, many of which were connected with Brian Kernighan and his peers at AT&T. Even then it was affectionately referred to as the "Bach Book". Nothing else to date comes close. Please correct me if I'm wrong!
All the basics of the kernel are laid bare, and example 'C' code demonstrates implementation of the algorithems. Compared with reading the actual source code, this book is way better because it communicates the essence without the distracting details of an actual implementation. If after reading the book, you do look at the source code for the kernel, it will be much easier to understand and navigate.
The Design of the Unix operating System is a very readable and very knowledgeable resource for anyone who wants to get inside the Unix architecture, but one should be very aware that the book is a reference for Unix System Five Release 3, which has been obsolete for two decades and more, and that any situation in most Unix flavors (or *nix for those who like precision in such things) will be much more complex than described in this volume in all likelihood.
The good news is that the vast majority of System 5-derived Unix variants are still using the bedrock described between these covers (which is why it is still in print of course, and why I'm giving it 5 stars).
The even better news is that the book is an unparalleled reference for those new to O/S internal design, and the principles explained are fundamental to so much of the modern Unix world that they will stand the reader in good stead and serve as a solid place from which to jump off into more modern systems internals.
It did for me.
Each chapter works through one aspect of the Unix operating system, with algorithms provided to illustrate how the cogs actually turn on their shafts and test questions (no answer pages though) at the end. Intended as a university text, the end-of-chapter problems can be very challenging. My guess is that there might have been an instructor's version of the book with answers as is usual for the time this was first published, but I don't know that for a fact (and I don't have the volume to hand to check).
For further reading I can also recommend: UNIX Internals: The New Frontiers, Solaris Internals: Solaris 10 and OpenSolaris Kernel Architecture (2nd Edition), Solaris' Internals (Vol 1) (the older edition covering Solaris 7, 8 & 9 has a little more depth than the newer version in some areas, though Solaris 10 has changed the game again in a big way) and The Magic Garden Explained Solutions Manual: The Internals of Unix System V Release 4 : An Open Systems Design, a trip through SVr4, though not quite as friendly as Bach manages to make the process of learning SVr3).
Mauro, McDougal, Goodheart and Cox list Bach at the top of their bibliographies. Vahalia references Bach in his preface.
Which is why you should read this book first, and have it on hand as your studies progress.