This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
MOBI The eBook format compatible with the Amazon Kindle and Amazon Kindle applications.
PDF The 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 discreetly watermarking it with your name, making it uniquely yours.
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:
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 Authors.
1. History and Goals.
History of the UNIX System.
BSD and Other Systems.
The Transition of BSD to Open Source.
The FreeBSD Development Model.
2. Design Overview of FreeBSD.
FreeBSD Facilities and the Kernel.
3. Kernel Services.
Traps and Interrupts.
User, Group, and Other Identifiers.
4. Process Management.
Introduction to Process Management.
Process Groups and Sessions.
5. Memory Management.
Overview of the FreeBSD Virtual-Memory System.
Kernel Memory Management.
Creation of a New Process.
Execution of a File.
Process Manipulation of Its Address Space.
Termination of a Process.
The Pager Interface.
III. I/O SYSTEM.
6. I/O System Overview.
I/O Mapping from User to Device.
Descriptor Management and Services.
The Virtual-Filesystem Interface.
The GEOM Layer.
The CAM Layer.
The ATA Layer.
8. Local Filesystems.
Hierarchical Filesystem Management.
Structure of an Inode.
The Local Filestore.
The Berkeley Fast Filesystem.
9. The Network Filesystem.
History and Overview.
NFS Structure and Operation.
Techniques for Improving Performance.
10. Terminal Handling.
The tty Structure.
Process Groups, Sessions, and Terminal Control.
RS-232 and Modem Control.
Other Line Disciplines.
IV. INTER PROCESS COMMUNICATION.
11. Interprocess Communication.
Implementation Structure and Overview.
12. Network Communication.
Interface Between Protocol and Network Interface.
Buffering and Congestion Control.
Additional Network-Subsystem Topics.
13. Network Protocols.
IPv4 Network Protocols.
User Datagram Protocol (UDP).
Internet Protocol (IP).
Transmission Control Protocol (TCP).
TCP Input Processing.
TCP Output Processing.
Internet Control Message Protocol (ICMP).
V. SYSTEM OPERATION.
14. Startup and Shutdown.
Kernel Module Initialization.