The I/O Kit framework (written as IOKit in source code and sometimes elsewhere) is an open-source framework in the XNU kernel that helps developers code device drivers for Apple's macOS and iOS operating systems. The I/O Kit framework evolved from NeXTSTEP's DriverKit, 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.
- I/O Kit Fundamentals - Technical reference from Apple Developer Connection
|This Macintosh-related article is a stub. You can help EverybodyWiki by expanding it.|
This article "I/O Kit" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:I/O Kit. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.