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 mobile phone number.

The Design and Implementation of the 4.4 BSD Operating System (paperback) (Addison-Wesley Unix and Open Systems) 1st Edition

4.3 out of 5 stars 12 customer reviews
ISBN-13: 978-0132317924
ISBN-10: 0132317923
Why is ISBN important?
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
Buy used On clicking this link, a new layer will be open
$53.95 On clicking this link, a new layer will be open
Buy new On clicking this link, a new layer will be open
$65.19 On clicking this link, a new layer will be open
More Buying Choices
16 New from $61.19 28 Used from $12.83
Free Two-Day Shipping for College Students with Prime Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student

--This text refers to an out of print or unavailable edition of this title.

The Amazon Book Review
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
$65.19 FREE Shipping. Only 1 left in stock (more on the way). Ships from and sold by Amazon.com. Gift-wrap available.
click to open popover

Frequently Bought Together

  • The Design and Implementation of the 4.4 BSD Operating System (paperback) (Addison-Wesley Unix and Open Systems)
  • +
  • TCP/IP Illustrated, Volume 1: The Protocols (2nd Edition) (Addison-Wesley Professional Computing Series)
Total price: $122.90
Buy the selected items together

Editorial Reviews

Amazon.com Review

This book describes the design and implementation of the BSD operating system--previously known as the Berkeley version of UNIX. Today, BSD is found in nearly every variant of UNIX, and is widely used for Internet services and firewalls, timesharing, and multiprocessing systems. 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; systems programmers can learn how to maintain, tune, and extend the system.


  • Details major changes in process and memory management
  • Describes the new extensible and stackable file system interface
  • Includes an invaluable chapter on the new network file system
  • Updates information on networking and interprocess communication
Written from the unique perspective of the system's architects, this book delivers the most comprehensive, up-to-date, and authoritative technical information on the internal structure of the latest BSD system. --This text refers to an out of print or unavailable edition of this title.

From the Inside Flap

This book is an extensive revision of the first authoritative and full-length description of the design and implementation of the research versions of the UNIX system developed at the University of California at Berkeley. Most detail is given about 4.4BSD, which incorporates the improvements of the previous Berkeley versions. Although 4.4BSD includes nearly 500 utility programs in addition to the kernel, this book concentrates almost exclusively on the kernel.

The UNIX System

The UNIX system runs on computers ranging from personal home systems to the largest supercomputers. It is the operating system of choice for most multiprocessor, graphics, and vector-processing systems, and is widely used for its original purpose of timesharing. It is the most common platform for providing network services (from FTP to WWW) on the Internet. It is the most portable operating system ever developed. This portability is due partly to its implementation language, C Kernighan & Ritchie, 1978 (which is itself one of the most widely ported languages), and partly to the elegant design of the system. Many of the system's features are imitated in other systems O'Dell, 1987.

Since its inception in 1969 Ritchie & Thompson, 1978, the UNIX system has developed in a number of divergent and rejoining streams. The original developers continued to advance the state of the art with their Ninth and Tenth Edition UNIX inside AT&T Bell Laboratories, and then their Plan 9 successor to UNIX. Meanwhile, AT&T licensed UNIX System V as a product, before selling it to Novell. Novell passed the UNIX trademark to X/OPEN and sold the source code and distribution rights to Santa Cruz Operation (SCO). Both System V and Ninth Edition UNIX were strongly influenced by the Berkeley Software Distributions produced by the Computer Systems Research Group (CSRG) of the University of California at Berkeley.

Berkeley Software Distributions

These Berkeley systems have introduced several useful programs and facilities to the UNIX community: 2BSD (the Berkeley PDP-11 system): the text editor vi 3BSD (the first Berkeley VAX system): demand-paged virtual-memory support 4.0BSD: performance improvements 4.1BSD: job control, autoconfiguration, and long C identifiers 4.2BSD and 4.3BSD: reliable signals; a fast filesystem; improved networking, including a reference implementation of TCP/IP; sophisticated interprocess-communication (IPC) primitives; and more performance improvements 4.4BSD: a new virtual memory system; a stackable and extensible vnode interface; a network filesystem (NFS); a log-structured filesystem, numerous filesystem types, including loopback, union, and uid/gid mapping layers; an ISO9660 filesystem (e.g., CD-ROM); ISO networking protocols; support for 68K, SPARC, MIPS, and PC architectures; POSIX support, including termios, sessions, and most utilities; multiple IP addresses per interface; disk labels; and improved booting

4.2BSD, 4.3BSD, and 4.4BSD are the bases for the UNIX systems of many vendors, and are used internally by the development groups of many other vendors. Many of these developments have also been incorporated by System V, or hav e been added by vendors whose products are otherwise based on System V.

The implementation of the TCP/IP networking protocol suite in 4.2BSD and 4.3BSD, and the availability of those systems, explain why the TCP/IP networking protocol suite is implemented so widely throughout the world. Numerous vendors have adapted the Berkeley networking implementations, whether their base system is 4.2BSD, 4.3BSD, 4.4BSD, System V, or even Digital Equipment Corporation's VMS or Microsoft's Winsock interface in Windows '95 and Windows/NT.

4BSD has also been a strong influence on the POSIX (IEEE Std 1003.1) operating-system interface standard, and on related standards. Several features--such as reliable signals, job control, multiple access groups per process, and the routines for directory operations--have been adapted from 4.3BSD for POSIX.

Material Covered in this Book

This book is about the internal structure of 4.4BSD Quarterman et al, 1985, and about the concepts, data structures, and algorithms used in implementing 4.4BSD's system facilities. Its level of detail is similar to that of Bach's book about UNIX System V Bach, 1986; however, this text focuses on the facilities, data structures, and algorithms used in the Berkeley variant of the UNIX operating system. The book covers 4.4BSD from the system-call level down--from the interface to the kernel to the hardware itself. The kernel includes system facilities, such as process management, virtual memory, the I/O system, filesystems, the socket IPC mechanism, and network protocol implementations. Material above the system-call level--such as libraries, shells, commands, programming languages, and other user interfaces--is excluded, except for some material related to the terminal interface and to system startup. Like Organick's book about Multics Organick, 1975, this book is an in-depth study of a contemporary operating system.

Where particular hardware is relevant, the book refers to the Hewlett-Packard HP300 (Motorola 68000-based) architecture. Because 4.4BSD was developed on the HP300, that is the architecture with the most complete support, so it provides a convenient point of reference.

Readers who will benefit from this book include operating-system implementors, system programmers, UNIX application developers, administrators, and curious users. The book can be read as a companion to the source code of the system, falling as it does between the manual CSRG, 1994 and the code in detail of treatment. But this book is specifically neither a UNIX programming manual nor a user tutorial (for a tutorial, see Libes & Ressler, 1988). Familiarity with the use of some version of the UNIX system (see, for example, Kernighan & Pike, 1984), and with the C programming language (see, for example, Kernighan & Ritchie, 1988) would be extremely useful.

Use in Courses on Operating Systems

This book is suitable for use as a reference text to provide background for a primary textbook in a second-level course on operating systems. It is not intended for use as an introductory operating-system textbook; the reader should have already encountered terminology such as memory management, process scheduling, and I/O systems Silberschatz & Galvin, 1994. Familiarity with the concepts of network protocols Tanenbaum, 1988; Stallings, 1993; Schwartz, 1987 will be useful for understanding some of the later chapters.

Exercises are provided at the end of each chapter. The exercises are graded into three categories indicated by zero, one, or two asterisks. The answers to exercises that carry no asterisks can be found in the text. Exercises with a single asterisk require a step of reasoning or intuition beyond a concept presented in the text. Exercises with two asterisks present major design projects or open research questions.


This text discusses both philosophical and design issues, as well as details of the actual implementation. Often, the discussion starts at the system-call level and descends into the kernel. Tables and figures are used to clarify data structures and control flow. Pseudocode similar to the C language is used to display algorithms. Boldface font identifies program names and filesystem pathnames. Italics font introduces terms that appear in the glossary and identifies the names of system calls, variables, routines, and structure names. Routine names (other than system calls) are further identified by the name followed by a pair of parenthesis (e.g., malloc() is the name of a routine, whereas argv is the name of a variable).

The book is divided into five parts, organized as follows:

Part 1, Overview

Three introductory chapters provide the context for the complete operating system and for the rest of the book. Chapter 1, History and Goals, sketches the historical development of the system, emphasizing the system's research orientation. Chapter 2, Design Overview of 4.4BSD, describes the services offered by the system, and outlines the internal organization of the kernel. It also discusses the design decisions that were made as the system was developed. Sections 2.3 through 2.14 in Chapter 2 give an overview of their corresponding chapter. Chapter 3, Kernel Services, explains how system calls are done, and describes in detail several of the basic services of the kernel.

Part 2, Processes

The first chapter in this part--Chapter 4, Process Management--lays the foundation for later chapters by describing the structure of a process, the algorithms used for scheduling the execution of processes, and the synchronization mechanisms used by the system to ensure consistent access to kernel-resident data structures. In Chapter 5, Memory Management, the virtual-memory!=management system is discussed in detail.

Part 3, I/O System

First, Chapter 6, I/O System Overview, explains the system interface to I/O and describes the structure of the facilities that support this interface. Following this introduction are four c --This text refers to an out of print or unavailable edition of this title.


The latest book club pick from Oprah
"The Underground Railroad" by Colson Whitehead is a magnificent novel chronicling a young slave's adventures as she makes a desperate bid for freedom in the antebellum South. See more

Product Details

  • Series: Addison-Wesley Unix and Open Systems
  • Paperback: 608 pages
  • Publisher: Addison-Wesley Professional; 1st edition (May 10, 1996)
  • Language: English
  • ISBN-10: 0132317923
  • ISBN-13: 978-0132317924
  • Product Dimensions: 6.2 x 1.3 x 9.1 inches
  • Shipping Weight: 2.1 pounds (View shipping rates and policies)
  • Average Customer Review: 4.3 out of 5 stars  See all reviews (12 customer reviews)
  • Amazon Best Sellers Rank: #2,859,622 in Books (See Top 100 in Books)

Customer Reviews

Top Customer Reviews

Format: Hardcover
Okay, I'll be the first to admit that I am not a kernel hacker by any means. I can't even program my way out of a wet paper bag (a bit of an exaggeration, but you get the idea). However, as a sysadmin, I firmly believe that you should have a solid understanding of whatever OS platform that you are working on. For me, that would be Solaris and Linux. So why am I recommending a BSD book? Well, BSD has a rich heritage in UNIX. It was the first UNIX to incorporate TCP/IP and it gave us sockets, FFS, and a rich set of tools (csh). FreeBSD, the most well-known of the *BSD family, powers some of the largest sites in the world (e.g., yahoo). It is an extremely robust and stable Operating System. It is also much more elegant than Linux.
This book is the ultimate BSD bible. It is written by some of the Gods of BSD and is extremely rigorous. I've made my way through this book twice and I've learned something new each time. If you put the effort into this book, you will come out with a greater understanding of UNIX in general. If you are a BSD hacker, then you should already have this book. This is a hard read, but it is really worth your time and effort to read this book at least once.
Comment 23 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
The book is good, no doubt about it. And it covers a big gap in the Unix world. It helped me numerous times to understand how things work in the kernel of FreeBSD. But, and there is a big but here, the book does not contain even a single line of code. Strange for a book that is supposed to describe a kernel. There are a few instances of pseudo-code here and there but nothing more. The book gives you the big picture, describes the various parts of the kernel like virtual memory, scheduling, filesystems but it is too descriptive in my opinion. I would like to see instead of long descriptions some real kernel code. Ofcourse you may argue that you can find all the source code in the world in FreeBSD, but thats different. Its not a book for beginners, you should already have read some other Operating System book first before you dig in this one as the authors themselves agree. Bottomline: good book but too theoretical for my taste. I recommend it only to the serious reader. Its not a bed time book. You need to work your brain to make the connection.
Comment 30 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
I'm shocked that no one has reviewed this book yet. This is it, one of the top books ever written documenting a version of the Unix kernel. If you are interested in kernel design, you probably already have this book on your shelf. If you haven't worked through it yet, you have a real treat ahead of you. One thing that makes this book more exciting than some of the other books on unix kernel design, such as Bach's venerable tome or _Magic Garden Explained_ , is that the source code is available for closely related, modern systems -- FreeeBSD, NetBSD, and OpenBSD.
Comment 18 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
While this book has been written by some of the best in the UNIX arena, their strong focus on packing a lot of content into these pages at times can prove a burden to the reader.
Reading through the chapters, it appears that the book could have been rendered more readable if a knowledgeable technical editor had put the finishing touches on it.
Nevertheless, even though it takes a bit of time to get used to the different writing styles and differences in quality of several chapters, this books is a well of insights into the internal workings of BSD 4.4 and its derivatives (like Mac OS X).
In order to gain the most from this title, I strongly urge interested readers to already have worked their way through Maurice J. Bach's "The Design of the UNIX Operating System".
Comment 10 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
By A Customer on April 1, 2000
Format: Hardcover
Although it does give good coverage of 4.4 BSD, I was surprised to see that both reviewers gave it 5 stars. A number of the chapters are very tedious to read and don't explain things as well as they should. I would recommend it only after the reader had read Vahalia's and Bach's books.
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
Format: Hardcover
Seriously, despite of the funny little daemon on the cover, this book is quite difficult.
First, it's a technical book about the BSD kernel. The only reason why you would want to read it is that you really want to know How It Works(tm). It's all about kernel. The drivers are only slightly touched, the API is touched even less. Rather than that, this book shows you the fields and flags of internal structures and the ways they are handled. Therefore I'd only recommend it to the system programmers and may be to the enthusiastic admins.
Second, certain chapters are written much worse than the others. The language in chapters 4 (Process Management) and 5 (Memory Management) is sort of a tangled making reading a challenge and it's really a pity because these two topics would better be covered best.
Also note that this book does not include sample code AT ALL. All the principles and algorithms are described using plain English and I'd say it's great, because it's much easier to follow, rather than making your way through somebody else's C scribbling.
Anyway, 5 stars, because it gives you 500 pages of pure distilled info. And it's info from the authors of BSD !
I'm definetely looking forward to read this book again and this is one of the books that are worth it.
Comment 7 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

Set up an Amazon Giveaway

The Design and Implementation of the 4.4 BSD Operating System (paperback) (Addison-Wesley Unix and Open Systems)
Amazon Giveaway allows you to run promotional giveaways in order to create buzz, reward your audience, and attract new followers and customers. Learn more about Amazon Giveaway
This item: The Design and Implementation of the 4.4 BSD Operating System (paperback) (Addison-Wesley Unix and Open Systems)

Pages with Related Products. See and discover other items: bsd