I/O Kit
From Wikipedia, the free encyclopedia
The I/O Kit is an open-source framework in the XNU kernel that helps developers code device drivers for Apple's Mac OS X operating system. The I/O Kit framework was originally introduced as part of Apple's Rhapsody operating system that later became Mac OS X, and shared no similarities with either Mac OS 9's device driver framework, or that of BSD.
The I/O Kit framework is implemented in a subset of C++ which omits features that Apple feels are unsafe for use in a multithreaded kernel (exceptions, multiple inheritance, templates, run-time type information). Embedded C++ was chosen partly because Apple believed developers would be more comfortable writing drivers in a more commonly used language than Objective-C, while still providing an object-oriented framework allowing device driver developers to focus on coding features specific to their hardware instead of reimplementing features common to any given device.
In addition to providing common code for device drivers, this framework also provides power management, driver stacking, automatic configuration, and dynamic loading of drivers.
[edit] References
- I/O Kit Fundamentals - Technical reference from Apple Developer Connection
- Rhapsody Core OS: Intro to the I/O Driver Architecture - Scott Anguish writing for Stepwise in May 1998