Part I. Kernel

Table of Contents
1. Bootstrapping and Kernel Initialization
1.1. Synopsis
1.2. Overview
1.3. The BIOS
1.4. The Master Boot Record (boot0)
1.5. boot1 Stage
1.6. The BTX Server
1.7. boot2 Stage
1.8. loader Stage
1.9. 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

All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.