Jump to ratings and reviews
Rate this book

The Design and Implementation of the FreeBSD Operating System

Rate this book
The most complete, authoritative technical guide to the FreeBSD kernel's internal structure has now been extensively updated to cover all major improvements between Versions 5 and 11. Approximately one-third of this edition's content is completely new, and another one-third has been extensively rewritten. Three long-time FreeBSD project leaders begin with a concise overview of the FreeBSD kernel's current design and implementation. Next, they cover the FreeBSD kernel from the system-call level down-from the interface to the kernel to the hardware. Explaining key design decisions, they detail the concepts, data structures, and algorithms used in implementing each significant system facility, including process management, security, virtual memory, the I/O system, filesystems, socket IPC, and networking. This Second Edition - Explains highly scalable and lightweight virtualization using FreeBSD jails, and virtual-machine acceleration with Xen and Virtio device paravirtualization - Describes new security features such as Capsicum sandboxing and GELI cryptographic disk protection - Fully covers NFSv4 and Open Solaris ZFS support - Introduces FreeBSD's enhanced volume management and new journaled soft updates - Explains DTrace's fine-grained process debugging/profiling - Reflects major improvements to networking, wireless, and USB support Readers can use this guide as both a working reference and an in-depth study of a leading contemporary, portable, open source operating system. Technical and sales support professionals will discover both FreeBSD's capabilities and its limitations. Applications developers will learn how to effectively and efficiently interface with it; system administrators will learn how to maintain, tune, and configure it; and systems programmers will learn how to extend, enhance, and interface with it. Marshall Kirk McKusick writes, consults, and teaches classes on UNIX- and BSD-related subjects. While at the University of California, Berkeley, he implemented the 4.2BSD fast filesystem. He was research computer scientist at the Berkeley Computer Systems Research Group (CSRG), overseeing development and release of 4.3BSD and 4.4BSD. He is a FreeBSD Foundation board member and a long-time FreeBSD committer. Twice president of the Usenix Association, he is also a member of ACM, IEEE, and AAAS. George V. Neville-Neil hacks, writes, teaches, and consults on security, networking, and operating systems. A FreeBSD Foundation board member, he served on the FreeBSD Core Team for four years. Since 2004, he has written the "Kode Vicious" column for "Queue" and "Communications of the ACM." He is vice chair of ACM's Practitioner Board and a member of Usenix Association, ACM, IEEE, and AAAS. Robert N.M. Watson is a University Lecturer in systems, security, and architecture in the Security Research Group at the University of Cambridge Computer Laboratory. He supervises advanced research in computer architecture, compilers, program analysis, operating systems, networking, and security. A FreeBSD Foundation board member, he served on the Core Team for ten years and has been a committer for fifteen years. He is a member of Usenix Association and ACM.

928 pages, Hardcover

First published August 1, 2004

62 people are currently reading
497 people want to read

About the author

Marshall Kirk McKusick

10 books8 followers
Marshall Kirk McKusick is an American computer scientist known for his extensive contributions to BSD UNIX, from the early days of the system in the 1980s to ongoing work with FreeBSD. He served on the board of the USENIX Association from 1986 to 1992 and again from 2000 to 2006, holding the position of president from 1990 to 1992 and 2000 to 2002. He was a member of the editorial board of ACM Queue from 2002 to 2019 and served on the board of the FreeBSD Foundation from 2012 to 2022. Among colleagues and friends, he is known simply as "Kirk."
He earned a B.S. in electrical engineering from Cornell University, followed by two M.S. degrees and a Ph.D. in computer science from the University of California, Berkeley. His involvement with BSD began at Berkeley, where he shared an office with Bill Joy, one of the system's original architects. His most significant contributions have been in the area of file systems, particularly in the development of the Berkeley Fast File System (FFS). In the late 1990s, he introduced soft updates, which improved disk integrity following crashes or power failures, and later helped refine the Unix File System (UFS) into UFS2. A well-known Easter egg in UFS2 references his birthdate in its magic number definition.
McKusick was also instrumental in implementing filesystem snapshots and background fsck, which allow systems to recover quickly from unexpected shutdowns. His influence extends beyond technical contributions, as his Design and Implementation book series has been highly regarded in the field of computer science, shaping the development of BSD-based operating systems. Additionally, he holds the copyright for the BSD Daemon, the widely recognized mascot of BSD.
His published works include The Design and Implementation of the 4.3BSD UNIX Operating System and its successor volumes, co-authored with key BSD developers. He has also contributed essays on the history and evolution of BSD, such as Twenty Years of Berkeley Unix in Open Sources: Voices from the Open Source Revolution. His collaborations with George Neville-Neil and Robert Watson have resulted in definitive texts on FreeBSD's architecture and design.

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
87 (49%)
4 stars
68 (38%)
3 stars
20 (11%)
2 stars
1 (<1%)
1 star
1 (<1%)
Displaying 1 - 8 of 8 reviews
Profile Image for Koen Crolla.
814 reviews235 followers
October 5, 2015
Misleading title: this book is almost exclusively about the FreeBSD kernel, not the OS as a whole. The kernel isn't very interesting; for the most part, it's a bog standard Unix kernel, and the things it does differently can be described in about a dozen pages. Most of those things are really uninteresting (capsicum), not original to FreeBSD (DTrace), well-known to everyone because FreeBSD users won't shut up about them (jails), or all three (ZFS).
Still, if you're interested in the FreeBSD kernel, this is probably what you want to be reading.
Profile Image for Ruslan Latypov.
4 reviews
April 27, 2019
The book contains a bit outdated information, but still has some useful things e.g. description of tcp slow start implementation in the FreeBSD.
Profile Image for Carter.
597 reviews
July 30, 2020
The BSD line of Unix operating systems have been detailed for a long time in a series of books. BSD however quite sometime ago has moved to open source. The second edition of the book has a lot of rich technical information and is very well written. It includes a new ZFS section. This book isn't only about the kernel but key components of the operating system as whole. Overall I really liked it even though I skimmed some sections just to find key pieces of information I might need for a project I am working on using FreeBSD as a potential starting point.
14 reviews
Want to read
October 12, 2019
mentioned in UNIX and Linux System Administration Handbook (4th edition)
Profile Image for Salim.
256 reviews3 followers
April 29, 2010
After picking up Lions' commentary on UNIX, I also dusted off my copy of this detailed examination of FreeBSD. In particular I am reading the sections about the design of the kernel and process management.
Profile Image for Graham Lee.
119 reviews28 followers
August 27, 2015
I'm not going to pretend this is an easy book to get through. It's an information-dense guide to the FreeBSD kernel (not the whole OS as the title might suggest).
Displaying 1 - 8 of 8 reviews

Can't find what you're looking for?

Get help and learn more about the design.