Part I. Kernel

Table of Contents
1. Bootstrapping and Kernel Initialization
1.1. Synopsis
1.2. Overview
1.3. BIOS POST
1.4. boot0 Stage
1.5. boot2 Stage
1.6. loader Stage
1.7. Kernel Initialization
2. Locking Notes
2.1. Mutexes
2.2. Shared Exclusive Locks
2.3. Atomically Protected Variables
3. Kernel Objects
3.1. Terminology
3.2. Kobj Operation
3.3. Using Kobj
4. The Jail Subsystem
4.1. Architecture
4.2. Restrictions
5. The SYSINIT Framework
5.1. Terminology
5.2. SYSINIT Operation
5.3. Using SYSINIT
6. The TrustedBSD MAC Framework
6.1. MAC Documentation Copyright
6.2. Synopsis
6.3. Introduction
6.4. Policy Background
6.5. MAC Framework Kernel Architecture
6.6. MAC Policy Architecture
6.7. MAC Policy Entry Point Reference
6.8. Userland Architecture
6.9. Conclusion
7. Virtual Memory System
7.1. Management of Physical Memory—vm_page_t
7.2. The Unified Buffer Cache—vm_object_t
7.3. Filesystem I/O—struct buf
7.4. Mapping Page Tables—vm_map_t, vm_entry_t
7.5. KVM Memory Mapping
7.6. Tuning the FreeBSD VM System
8. SMPng Design Document
8.1. Introduction
8.2. Basic Tools and Locking Fundamentals
8.3. General Architecture and Design
8.4. Specific Locking Strategies
8.5. Implementation Notes
8.6. Miscellaneous Topics
Glossary

This, and other documents, can be downloaded from http://ftp.FreeBSD.org/pub/FreeBSD/doc/

For questions about FreeBSD, read the documentation before contacting <questions@FreeBSD.org>.

For questions about this documentation, e-mail <doc@FreeBSD.org>.