Buy new:
-24% $60.78
to get FREE delivery Sunday, November 17
Ships from: Amazon
Sold by: castriou
$60.78 with 24 percent savings
List Price: $80.00
The List Price is the suggested retail price of a new product as provided by a manufacturer, supplier, or seller. Except for books, Amazon will display a List Price if the product was purchased by customers on Amazon or offered by other retailers at or above the List Price in at least the past 90 days. List prices may not necessarily reflect the product's prevailing market price.
Learn more
FREE Returns
to get FREE delivery Sunday, November 17
Or Non members get FREE delivery Wednesday, November 20
Only 1 left in stock - order soon.
$$60.78 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$60.78
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Ships from
Amazon
Ships from
Amazon
Sold by
Sold by
Returns
Returnable until Jan 31, 2025
Returnable until Jan 31, 2025
For the 2024 holiday season, eligible items purchased between November 1 and December 31, 2024 can be returned until January 31, 2025.
Returns
Returnable until Jan 31, 2025
For the 2024 holiday season, eligible items purchased between November 1 and December 31, 2024 can be returned until January 31, 2025.
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
Payment
Secure transaction
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
$21.52

Get Fast, Free Shipping with Amazon Prime
FREE Returns
Very Good- This book is in great condition. 100% satisfaction guaranteed or your money back. Comes with tracking, 24/7 customer service and free no-hassle returns. Very Good- This book is in great condition. 100% satisfaction guaranteed or your money back. Comes with tracking, 24/7 customer service and free no-hassle returns. See less
to get FREE delivery Sunday, November 17. Order within 7 hrs 30 mins
Or Non members get FREE delivery Friday, November 22 on orders shipped by Amazon over $35
Only 1 left in stock - order soon.
$$60.78 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$60.78
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Access codes and supplements are not guaranteed with used items.
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Follow the author

Something went wrong. Please try your request again later.

The Design of the UNIX Operating System First Edition

4.7 4.7 out of 5 stars 121 ratings

{"desktop_buybox_group_1":[{"displayPrice":"$60.78","priceAmount":60.78,"currencySymbol":"$","integerValue":"60","decimalSeparator":".","fractionalValue":"78","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"3aA2Cg%2FOd47HEmLxGH%2BUnsLU%2FtnGhjJZOmUw0quJDDnvg7oZKzH5zgsoaXhI2j9Oazlyo9vdcgG9VoQgzchxKT3WSDSMjaWFaGSGmcrZcOJbyyIJkEEMpqtKg9c5ANwHl6%2BFXrCxp6kEVqM1iqQVOQaIXCE50mvOr3MwI1Cz11vYYNE0jsbAtl%2FmXzX74dM%2B","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}, {"displayPrice":"$21.52","priceAmount":21.52,"currencySymbol":"$","integerValue":"21","decimalSeparator":".","fractionalValue":"52","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"3aA2Cg%2FOd47HEmLxGH%2BUnsLU%2FtnGhjJZ%2BP4VLE%2F0Hz7S%2FvUrxdPrF5%2Bad9U3%2FRxGzso%2BI7WxHy5FyCfm8aku%2FcJlZwFz7t%2Bzco7DGoCQRkOWo9sCJYDQiSGpvoLx8PdeKBJTgUiZDKgTyE8Ln89mywoXOlc2IjLFXD0HxbUlvom1rXHHj4%2BQAaJ9IselBli%2F","locale":"en-US","buyingOptionType":"USED","aapiBuyingOptionIndex":1}]}

Purchase options and add-ons

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 First Reads | Editors' picks at exclusive prices

Frequently bought together

This item: The Design of the UNIX Operating System
$60.78
Get it as soon as Wednesday, Nov 20
Only 1 left in stock - order soon.
Sold by castriou and ships from Amazon Fulfillment.
+
$95.99
Get it as soon as Tuesday, Nov 19
In Stock
Ships from and sold by Amazon.com.
+
$18.95
Get it as soon as Tuesday, Nov 19
In Stock
Ships from and sold by Amazon.com.
Total price: $00
To see our price, add these items to your cart.
Details
Added to Cart
spCSRF_Treatment
Some of these items ship sooner than the others.
Choose items to buy together.

Editorial Reviews

From the Publisher

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.

From the Inside Flap

Preface

The UNIX system was first described in a 1974 paper in the Communications of the ACM Thompson 74 by Ken Thompson and Dennis Ritchie. Since that time, it has become increasingly widespread and popular throughout the computer industry where more and more vendors are offering support for it on their machines. It is especially popular in universities where it is frequently used for operating systems research and case studies.

Many books and papers have described parts of the system, among them, two special issues of the Bell System Technical Journal in 1978 BSTJ 78 and 1984 BLTJ 84. Many books describe the user level interface, particularly how to use electronic mail, how to prepare documents, or how to use the command interpreter called the shell; some books such as The UNIX Programming Environment Kernighan 84 and Advanced UNIX Programming Rochkind 85 describe the programming interface. This book describes the internal algorithms and structures that form the basis of the operating system (called the kernel) and their relationship to the programmer interface. It is thus applicable to several environments. First, it can be used as a textbook for an operating systems course at either the advanced undergraduate or first-year graduate level. It is most beneficial to reference the system source code when using the book, but the book can be read independently, too. Second, system programmers can use the book as a reference to gain better understanding of how the kernel works and to compare algorithms used in the UNIX system to algorithms used in other operating systems.

Finally, programmers on UNIX systems can gain a deeper understanding of how their programs interact with the system and thereby code more-efficient, sophisticated programs.

The material and organization for the book grew out of a course that I prepared and taught at AT&T Bell Laboratories during 1983 and 1984. While the course centered on reading the source code for the system, I found that understanding the code was easier once the concepts of the algorithms had been mastered. I have attempted to keep the descriptions of algorithms in this book as simple as possible, reflecting in a small way the simplicity and elegance of the system it describes. Thus, the book is not a line-by-line rendition of the system written in English; it is a description of the general flow of the various algorithms, and most important, a description of how they interact with each other. Algorithms are presented in a C-like pseudo-code to aid the reader in understanding the natural language description, and their names correspond to the procedure names in the kernel. Figures depict the relationship between various data structures as the system manipulates them. In later chapters, small C programs illustrate many system concepts as they manifest themselves to users. In the interests of space and clarity, these examples do not usually check for error conditions, something that should always be done when writing programs. I have run them on System V; except for programs that exercise features specific to System V, they should run on other versions of the system, too.

Many exercises originally prepared for the course have been included at the end of each chapter, and they are a key part of the book. Some exercises are straightforward, designed to illustrate concepts brought out in the text. Others are more difficult, designed to help the reader understand the system at a deeper level. Finally, some are exploratory in nature, designed for investigation as a research problem. Difficult exercises are marked with asterisks.

The system description is based on UNIX System V Release 2 supported by AT&T, with some new features from Release 3. This is the system with which I am most familiar, but I have tried to portray interesting contributions of other variations to the operating system, particularly those of Berkeley Software Distribution (BSD). I have avoided issues that assume particular hardware characteristics, trying to cover the kernel-hardware interface in general terms and ignoring particular machine idiosyncrasies. Where machine-specific issues are important to understand implementation of the kernel, however, I delve into the relevant detail. At the very least, examination of these topics will highlight the parts of the operating system that are the most machine dependent.

The reader must have programming experience with a high-level language and, preferably, with an assembly language as a prerequisite for understanding this book. It is recommended that the reader have experience working with the UNIX system and that the reader knows the C language Kernighan 78. However, I have attempted to write this book in such a way that the reader should still be able to absorb the material without such background. The appendix contains a simplified description of the system calls, sufficient to understand the presentation in the book, but not a complete reference manual.

The book is organized as follows. Chapter I is the introduction, giving a brief, general description of system features as perceived by the user and describing the system structure. Chapter 2 describes the general outline of the kernel architecture and presents some basic concepts. The remainder of the book follows the outline presented by the system architecture, describing the various components in a building block fashion. It can be divided into three parts: the file system, process control, and advanced topics. The file system is presented first, because its concepts are easier than those for process control. Thus, Chapter 3 describes the system buffer cache mechanism that is the foundation of the file system. Chapter 4 describes the data structures and algorithms used internally by the file system. These algorithms use the algorithms explained in Chapter 3 and take care of the internal bookkeeping needed for managing user files. Chapter 5 describes the system calls that provide the user interface to the file system; they use the algorithms in Chapter 4 to access user files.

Chapter 6 turns to the control of processes. It defines the context of a process and investigates the internal kernel primitives that manipulate the process context. In particular, it considers the system call interface, interrupt handling, and the context switch. Chapter 7 presents the system calls that control the process context. Chapter 8 deals with process scheduling, and Chapter 9 covers memory management, including swapping and paging systems.

Chapter 10 outlines general driver interfaces, with specific discussion of disk drivers and terminal drivers. Although devices are logically part of the file system, their discussion is deferred until here because of issues in process control that arise in terminal drivers. This chapter also acts as a bridge to the more advanced topics presented in the rest of the book. Chapter 11 covers interprocess communication and networking, including System V messages, shared memory and semaphores, and BSD sockets. Chapter 12 explains tightly coupled multiprocessor UNIX systems, and Chapter 13 investigates loosely coupled distributed systems.

The material in the first nine chapters could be covered in a one-semester course on operating systems, and the material in the remaining chapters could be covered in advanced seminars with various projects being done in parallel.

A few caveats must be made at this time. No attempt has been made to describe system performance in absolute terms, nor is there any attempt to suggest configuration parameters for a system installation. Such data is likely to vary according to machine type, hardware configuration, system version and implementation, and application mix. Similarly, I have made a conscious effort to avoid predicting future development of UNIX operating system features Discussion of advanced topics does not imply a commitment by AT&T to provide particular features, nor should it even imply that particular areas are under investigation.

It is my pleasure to acknowledge the assistance of many friends and colleagues who encouraged me while I wrote this book and provided constructive criticism of the manuscript. My deepest appreciation goes to Ian Johnstone who suggested that I write this book, gave me early encouragement, and reviewed the earliest draft of the first chapters. Ian taught me many tricks of the trade, and I will always be indebted to him. Doris Ryan also had a hand in encouraging me from the very beginning, and I will always appreciate her kindness and thoughtfulness. Dennis Ritchie freely answered numerous questions on the historical and technical background of the system. Many people gave freely of their time and energy to review drafts of the manuscript, and this book owes a lot to their detailed comments. They are Debby Bach, Doug Bayer, Lenny Brandwein, Steve Buroff, Tom Butler, Ron Gomes, Mesut Gunduc, Laura Israel, Dean Jagels, Keith Kelleman, Brian Kernighan, Bob Martin, Bob Mitze, Dave Nowitz, Michael Poppers, Marilyn Safran, Curt Schimmel, Zvi Spitz, Tom Vaden, Bill Weber, Larry Wehr, and Bob Zarrow. Mary Frubstuck provided help in preparing the manuscript for typesetting. I would like to thank my management for their continued support throughout this project and my colleagues, for providing such a stimulating atmosphere and wonderful work environment at AT&T Bell Laboratories. John Wait and the staff at Prentice-Hall provided much valuable assistance and advice to get the book into its final form. Last, but not least, my wife, Debby, gave me lots of emotional support, without which I could never have succeeded.

Product details

  • Publisher ‏ : ‎ Pearson; First Edition (May 27, 1986)
  • Language ‏ : ‎ English
  • Paperback ‏ : ‎ 471 pages
  • ISBN-10 ‏ : ‎ 0132017997
  • ISBN-13 ‏ : ‎ 978-0132017992
  • Item Weight ‏ : ‎ 1.95 pounds
  • Dimensions ‏ : ‎ 7 x 1.1 x 8.9 inches
  • Customer Reviews:
    4.7 4.7 out of 5 stars 121 ratings

About the author

Follow authors to get new release updates, plus improved recommendations.
Maurice J. Bach
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Discover more of the author’s books, see similar authors, read book recommendations and more.

Customer reviews

4.7 out of 5 stars
121 global ratings

Top reviews from the United States

Reviewed in the United States on March 7, 2021
Alot has been said about this book - most of it true and very positive. So I'll just add my experience...

In self-studying OS (they didn't directly cover it in college), I tried a few other popular OS books. Modern operating systems (T-rex book), the book with the tiger on it (forgot its name). I bought a book on Windows...
I never completed them, and never began feeling like I had gotten to the root of what makes an operating system an operating system.
It became clear I needed to study UNIX first, and then branch out to other modern OS's from there. But what I really needed... was to study the UNIX kernel first, and become a proficient user next.
Core understanding is always something I look for first when learning. It's just the style inwhich I learn... some are different, they like to dive in and get their hands dirty. I like to start at the root, get the details about the fundamentals in place, and work my way up.
This book is perfect for that. If you're that kind of learner... this is your starting point to OS, in my opinion. The core structure of an OS could not be made more clear here, and you get the historical grounding on UNIX as well which is valuable perspective.

I don't mean to imply the book is elementary in its content - not at all. It's not a beginners book, it's quite technical and very well written too. And I think experienced developers who have familiarity of OS concepts, but haven't studied the UNIX kernal, will benefit from this book.

Overall... an easy 5 stars.
18 people found this helpful
Report
Reviewed in the United States on August 27, 2011
If you want to understand Unix or Linux inside out, then you must read (or better, study) this book.

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.
30 people found this helpful
Report
Reviewed in the United States on December 22, 2021
The book I received is in great shape for a 25 year old book. Much better than I was expecting.
Reviewed in the United States on December 24, 2019
This book has the fundamentals that I wish I had growing up. The explanation and information is relative to today’s Linux and has the best explanation of what a socket really is.
Reviewed in the United States on September 22, 2019
If you've ever wondered what goes into designing a trustworthy computer operating system, this book will be a big help.
One person found this helpful
Report
Reviewed in the United States on August 30, 2019
Excellent
Reviewed in the United States on December 11, 2013
Excellent book for the Unix/Linux internal working. If you want to know how Unix/Linux work on the inside, get it.
3 people found this helpful
Report
Reviewed in the United States on April 30, 2015
A 'must read' for everybody interested in understanding the basics of the UNIX core.
2 people found this helpful
Report

Top reviews from other countries

Mr.Cybernetics
5.0 out of 5 stars Old, but excelent.
Reviewed in Germany on December 13, 2021
Best outdated book I ever read.
Rudresh Thite
5.0 out of 5 stars Truth
Reviewed in India on March 5, 2020
Great book by great people.
Andre
5.0 out of 5 stars Five Stars
Reviewed in Canada on February 11, 2016
as advertised
annoyed
5.0 out of 5 stars Required reading if you're interested in learning how operating systems really work.
Reviewed in Germany on May 31, 2020
Very thorough, goes into just the right level of detail to give you a fundamental understanding and appreciation of everything that goes into operating system design.
Dr. Santanu Sen
5.0 out of 5 stars Excellent package
Reviewed in India on September 10, 2018
The book is a brand new one