Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your email address or mobile phone number.

The Design and Implementation of the FreeBSD Operating System 1st Edition

4.7 out of 5 stars 17 customer reviews
ISBN-13: 978-0201702453
ISBN-10: 0201702452
Why is ISBN important?
ISBN
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
Have one to sell? Sell on Amazon
Rent On clicking this link, a new layer will be open
$9.99 On clicking this link, a new layer will be open
Buy used On clicking this link, a new layer will be open
$24.95 On clicking this link, a new layer will be open
Buy new On clicking this link, a new layer will be open
$67.99 On clicking this link, a new layer will be open
More Buying Choices
19 New from $8.07 37 Used from $4.93

There is a newer edition of this item:

Free Two-Day Shipping for College Students with Amazon Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student

$67.99 FREE Shipping. Usually ships within 1 to 3 months. Ships from and sold by Amazon.com. Gift-wrap available.
click to open popover

Frequently Bought Together

  • The Design and Implementation of the FreeBSD Operating System
  • +
  • FreeBSD Device Drivers: A Guide for the Intrepid
Total price: $108.00
Buy the selected items together

Editorial Reviews

From the Back Cover

As in earlier Addison-Wesley books on the UNIX-based BSD operating system, Kirk McKusick and George Neville-Neil deliver here the most comprehensive, up-to-date, and authoritative technical information on the internal structure of open source FreeBSD. Readers involved in technical and sales support can learn the capabilities and limitations of the system; applications developers can learn effectively and efficiently how to interface to the system; system administrators can learn how to maintain, tune, and configure the system; and systems programmers can learn how to extend, enhance, and interface to the system.

The authors provide a concise overview of FreeBSD's design and implementation. Then, while explaining key design decisions, they detail the concepts, data structures, and algorithms used in implementing the systems facilities. As a result, readers can use this book as both a practical reference and an in-depth study of a contemporary, portable, open source operating system.

This book: Details the many performance improvements in the virtual memory systemDescribes the new symmetric multiprocessor supportIncludes new sections on threads and their schedulingIntroduces the new jail facility to ease the hosting of multiple domainsUpdates information on networking and interprocess communication

Already widely used for Internet services and firewalls, high-availability servers, and general timesharing systems, the lean quality of FreeBSD also suits the growing area of embedded systems. Unlike Linux, FreeBSD does not require users to publicize any changes they make to the source code.

About the Author

Marshall Kirk McKusick writes books and articles, consults, and teaches classes on UNIX- and BSD-related subjects. While at the University of California at Berkeley, he implemented the 4.2BSD fast file system, and was the research computer scientist at the Berkeley Computer Systems Research Group (CSRG) overseeing the development and release of 4.3BSD and 4.4BSD. He has twice served as the president of the board of the Usenix Association.

George V. Neville-Neil works on network and operating system code for fun and profit and teaches programming. He also serves on the editorial board of Queue magazine and is a member of the Usenix Association, ACM, and IEEE.



NO_CONTENT_IN_FEATURE


Product Details

  • Hardcover: 720 pages
  • Publisher: Addison-Wesley Professional; 1 edition (August 12, 2004)
  • Language: English
  • ISBN-10: 0201702452
  • ISBN-13: 978-0201702453
  • Product Dimensions: 6.6 x 1.7 x 9.6 inches
  • Shipping Weight: 2.4 pounds (View shipping rates and policies)
  • Average Customer Review: 4.7 out of 5 stars  See all reviews (17 customer reviews)
  • Amazon Best Sellers Rank: #266,755 in Books (See Top 100 in Books)

Customer Reviews

Top Customer Reviews

Format: Hardcover
I have been administering FreeBSD systems for four years, and I read 'The Design' to get a better understanding of the system 'under the hood.' This book is definitely not for beginners, and intermediate users like myself can become quickly overwhelmed. Nevertheless, I am very glad FreeBSD developers like McKusick and Neville-Neil took the time to document the kernel in this book.

Before tackling 'The Design,' I recommend reading a book like 'Modern Operating Systems, 2nd Ed' by Andrew Tannenbaum. The reader needs to be familiar with OS concepts and terms like 'mutex,' 'semaphore,' 'locking,' and so on before reading 'The Design.' If for some reason you want to read 'The Design' but are not familiar with userland FreeBSD issues, I recommend Greg Lehey's 'Complete FreeBSD, 4th Ed.'

I was unable to grasp all of the material in 'The Design,' since some of it will appeal only to those coding their own kernels or who are equipped to debate the FreeBSD core team's design choices. In that respect the book is well suited for a college course (perhaps a master's level?) where the content could be discussed by a professor and students. I was able to critically read the chapters covering networking (ch. 11-13) as I deploy FreeBSD partly for its robust TCP/IP stack. Reading 'The Design' helped me understand some of Robert Watson's recent posts concerning removal of the GIANT lock from the networking subsystem, for example.

There are many other parts of the book which non-kernel developers will find accessible. Nearly every chapter features a well-written introduction to the technology at hand, such as memory management (ch. 5) or devices (ch. 7). I found various bits of history helpful, like the development of NFS (ch. 9) or UNIX itself (ch. 1).
Read more ›
Comment 45 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Hardcover
First of all you should be warned that this is not an introduction to get started with UNIX kernel programming. The Design of the UNIX Operating System by M.J. Bach provides a good general introduction to UNIX kernel programming. The design and implementation of the FreeBSD operating system is an excellent book to deepen knowledge of the UNIX kernel by looking how a current UNIX is implemented in practice. Even if you plan to write code for another kernel, working through the FreeBSD kernel with this book as a guide is a good excercise to become consious of the fundamental problems and solutions in kernel design. FreeBSD (or any of the other BSDs) is a good starting point, because the BSDs have relatively stable kernel subsystems and APIs due to the long cycles in BSD development.

The writing style of the authors is to the point (don't expect a novel) and clear. The troff typesetting of the book gives it a consistent style and simple, but clear diagrams (though I heard that some diagrams were hand-drawn). The book doesn't just drop the reader in a kernel subsystem. The second chapter gives a detailed explanation of the various kernel subsystems, and the relation between the subsystems. The third chapter gives a summary of what is expected from a kernel from the user level. Combined these two chapters give the reader the necessary conception of the FreeBSD kernel to start looking at individual parts of the kernel in detail. Most remaining chapters are logically ordered, in that subsystems are ordered from parts with less dependencies to parts with more dependencies (e.g. memory management and I/O are covered before filesystems).

If you are interested in UNIX programming, you should have this book on your bookshelf (as well as a CVS checkout of the FreeBSD kernel tree to read the implementation).
Comment 17 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Hardcover
This hardback academic style book is an impressive piece of work. The writing style is serious, but not overwhelming, and the use of graphics is appropriate and effective. The organization is what you would expect, it cuts the Kernel as if it were an onion and starts at the center, covering I/O and devices, goes through process management, file systems, IPC and networking. There are exercises at the end of every chapter.

This book is a genuinely impressive piece of work. It's well worth the money for anyone looking for a computer science work on operating systems construction.
Comment 24 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Hardcover
For some 15 years or more, Addison-Wesley has published a set of definitive books on Unix, C and the Internet. It is a pleasure to see that this FreeBSD book continues that tradition.

The book goes into a detailed explanation of FreeBSD's kernel and associated matters. Strictly for the experienced unix programmer or systems developer. At the core of the kernel are many algorithms. It is these and their data structures that are the essence of this book. Also worthy of mention is the inclusion of exercises at the end of each chapter. Given that we have an algorithms book, the subject lends itself readily to probing questions, and it is nice that the authors chose to do so.

We also have a discussion of FreeBSD versus linux. In recent years, linux has grown hugely, and has overtaken FreeBSD. The authors face this issue squarely. That is, if you are choosing a unix to develop on, why pick FreeBSD? The main point is that for anything you make under it, you do not have to fold back into the main FreeBSD thread, by revealing or relinquishing the source code or any other intellectual property.
Comment 13 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse

Most Recent Customer Reviews