Home > Store > Operating Systems, Server

larger cover

Add To My Wish List

Design and Implementation of the FreeBSD Operating System, The

Register your product to gain access to bonus material or receive a coupon.

  • Description
  • Extras
  • Reviews
  • Sample Content

Product Author Bios

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.



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 system
  • Describes the new symmetric multiprocessor support
  • Includes new sections on threads and their scheduling
  • Introduces the new jail facility to ease the hosting of multiple domains
  • Updates 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.



Customer Reviews

42 of 43 people found the following review helpful
5.0 out of 5 stars Hardly a wasted word in this guide to the FreeBSD kernel, August 31, 2004
By 
Richard Bejtlich "TaoSecurity" (Metro Washington, DC) - See all my reviews
(REAL NAME)   
This review is from: The Design and Implementation of the FreeBSD Operating System (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... Read more
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


15 of 15 people found the following review helpful
5.0 out of 5 stars Highly recommended for learning how a kernel works in practice, August 14, 2005
By 
Daniel de Kok (Groningen, The Netherlands) - See all my reviews
This review is from: The Design and Implementation of the FreeBSD Operating System (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... Read more
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


24 of 28 people found the following review helpful
5.0 out of 5 stars In depth, well written and impressive, August 16, 2004
By 
This review is from: The Design and Implementation of the FreeBSD Operating System (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.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


Share your thoughts with other customers:
 See all 13 customer reviews...

Online Sample Chapter

FreeBSD Process Management

Table of Contents

Preface.

About the Authors.

I. OVERVIEW.

1. History and Goals.

History of the UNIX System.

BSD and Other Systems.

The Transition of BSD to Open Source.

The FreeBSD Development Model.

References.

2. Design Overview of FreeBSD.

FreeBSD Facilities and the Kernel.

Kernel Organization.

Kernel Services.

Process Management.

Memory Management.

I/O System.

Devices.

Filesystems.

Network Filesystem.

Terminals.

Interprocess Communication.

Network Communication.

Network Implementation.

System Operation.

Exercises.

References.

3. Kernel Services.

Kernel Organization.

System Calls.

Traps and Interrupts.

Clock Interrupts.

Memory-Management Services.

Timing Services.

User, Group, and Other Identifiers.

Resource Services.

System-Operation Services.

Accounting.

Exercises.

References.

II. PROCESSES.

4. Process Management.

Introduction to Process Management.

Process State.

Context Switching.

Thread Scheduling.

Process Creation.

Process Termination.

Signals.

Process Groups and Sessions.

Jails.

Process Debugging.

Exercises.

References.

5. Memory Management.

Terminology.

Overview of the FreeBSD Virtual-Memory System.

Kernel Memory Management.

Per-Process Resources.

Shared Memory.

Creation of a New Process.

Execution of a File.

Process Manipulation of Its Address Space.

Termination of a Process.

The Pager Interface.

Paging.

Page Replacement.

Portability.

Exercises.

References.

III. I/O SYSTEM.

6. I/O System Overview.

I/O Mapping from User to Device.

Character Devices.

Disk Devices.

Descriptor Management and Services.

The Virtual-Filesystem Interface.

Filesystem-Independent Services.

Stackable Filesystems.

Exercises.

References.

7. Devices.

Device Overview.

The GEOM Layer.

The CAM Layer.

The ATA Layer.

Device Configuration.

Exercises.

References.

8. Local Filesystems.

Hierarchical Filesystem Management.

Structure of an Inode.

Naming.

Quotas.

File Locking.

Soft Updates.

Filesystem Snapshots.

The Local Filestore.

The Berkeley Fast Filesystem.

Exercises.

References.

9. The Network Filesystem.

History and Overview.

NFS Structure and Operation.

Techniques for Improving Performance.

Exercises.

References.

10. Terminal Handling.

Terminal-Processing Modes.

Line Disciplines.

User Interface.

The tty Structure.

Process Groups, Sessions, and Terminal Control.

C-lists.

RS-232 and Modem Control.

Terminal Operations.

Other Line Disciplines.

Exercises.

References.

IV. INTER PROCESS COMMUNICATION.

11. Interprocess Communication.

Interprocess-Communication Model.

Implementation Structure and Overview.

Memory Management.

Data Structures.

Connection Setup.

Data Transfer.

Socket Shutdown.

Local Interprocess-Communication.

Exercises.

References.

12. Network Communication.

Internal Structure.

Socket-to-Protocol Interface.

Protocol-Protocol Interface.

Interface Between Protocol and Network Interface.

Routing.

Buffering and Congestion Control.

Raw Sockets.

Additional Network-Subsystem Topics.

Exercises.

References.

13. Network Protocols.

IPv4 Network Protocols.

User Datagram Protocol (UDP).

Internet Protocol (IP).

Transmission Control Protocol (TCP).

TCP Algorithms.

TCP Input Processing.

TCP Output Processing.

Internet Control Message Protocol (ICMP).

IPv6.

1Security.

Exercises.

References.

V. SYSTEM OPERATION.

14. Startup and Shutdown.

Overview.

Bootstrapping.

Kernel Initialization.

Kernel Module Initialization.

User-Level Initialization.

System Operation.

Exercises.

References.

Glossary.

Index.

Downloadable Sample Chapter

Download the Sample Chapter related to this title.

Index

Download the Index file related to this title.

 
Best Value

Book + eBook Bundle  $134.98  $80.99

Book Price $59.99
eBook Price $21.00
eBook formats included

Buy

This book includes free shipping!

Buy

Book  $74.99  $59.99

Usually ships in 24 hours.

This book includes free shipping!

Buy

eBook (Watermarked)  $59.99  $47.99

Includes EPUB, MOBI, and PDF
About eBook Formats

This eBook includes the following formats, accessible from your Account page after purchase:

ePubEPUBThe open industry format known for its reflowable content and usability on supported mobile devices.

MOBIMOBIThe eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

Adobe ReaderPDFThe popular standard, used most often with the free Adobe® Reader® software.

This eBook requires no passwords or activation to read. We customize your eBook by discretely watermarking it with your name, making it uniquely yours.

Purchase Reward: One Month Free Subscription
By completing any purchase on InformIT, you become eligible for an unlimited access one-month subscription to Safari Books Online.

Get access to thousands of books and training videos about technology, professional development and digital media from more than 40 leading publishers, including Addison-Wesley, Prentice Hall, Cisco Press, IBM Press, O'Reilly Media, Wrox, Apress, and many more. If you continue your subscription after your 30-day trial, you can receive 30% off a monthly subscription to the Safari Library for up to 12 months. That's a total savings of $199.