The purpose of this document is to provide fundamental high-level information about the Mac OS X core
operating-system architecture. It also provides background for system programmers and developers of device
drivers, file systems, and network extensions. In addition, it goes into detail about topics of interest to kernel
programmers as a whole.
This is not a document on drivers. It covers device drivers at a high level only. It does, however, cover some
areas of interest to driver writers, such as crossing the user-kernel boundary. If you are writing device drivers,
you should primarily read the document I/O Kit Fundamentals, but you may still find this document helpful
as background reading.
Who Should Read This Document
This document has a wide and diverse audience—specifically, the set of potential system software developers
for Mac OS X, including the following sorts of developers:
● device-driver writers
● network-extension writers
● file-system writers
● developers of software that modifies file system data on-the-fly
● system programmers familiar with BSD, Linux, and similar operating systems
● developers who want to learn about kernel programming