The Design and Implementation of the FreeBSD® Operating System, Second Edition

Book Description

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.

• 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.