The Kernel Library: libkern

The runtime support and base classes on which the I/O Kit is built are implemented in a library known as libkern. The libkern library provides support that makes up for much of the functionality that is excluded in the embedded C++ language. The libkern library defines a class known as OSObject, which provides the base class that is used by all I/O Kit classes. Since the base driver class IOService is a subclass of OSObject, the main class of a driver will also be derived from OSObject. Any class that is derived from OSObject gets the following functionality:

  • Runtime Type Information, which is implemented through custom macros provided by libkern. These macros provide functionality that includes
    • Type introspection, ...

Get OS X and iOS Kernel Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.