


It is most useful to think of the I/O Registry as a tree: Each object is a node that descends from a parent node and has zero or more child nodes. I/O Registry Architecture and Construction It also provides an overview of device matching and introduces applications that allow you to browse the Registry. This chapter describes the I/O Registry architecture and the planes the Registry uses to represent relationships between objects. You can also view the current state of the Registry on your computer using applications provided with the developer version of OS X. These APIs include powerful search mechanisms that allow you to search the Registry for an object with particular characteristics. The I/O Registry is made accessible from user space by APIs in the I/O Kit framework. Instead, it is built at each system boot and resides in memory. A dynamic part of the I/O Kit, the Registry is not stored on disk or archived between boots. When hardware is added or removed from the system, the Registry is immediately updated to reflect the new configuration of devices. The I/O Registry is a dynamic database that describes a collection of “live” objects (nubs or drivers) and tracks the provider-client relationships between them.
