User:Tkaden4/sandbox/Kobject

In the Linux kernel, a Kobject or Kernel Object is a kernel data structure that exposes information about loadable kernel modules to userspace through the sysfs pseudo filesystem.

History
Kobjects were introduced to the Linux kernel during the 2.5 development cycle in 2002 as a supplement to sysfs. They unify several disparate techniques throughout the kernel for devices, such as: Originally used to unify reference counted resource within the kernel, they are now used solely for the development of device drivers. Usage of Kobjects for garbage collection is now prohibited, as krefs now satisfy the need for generic reference counting.
 * reference counting
 * hierarchical arrangement via Ksets
 * OOP features such as parent-child relationships and methods