The CPU Inheritance framework is a novel processor scheduling system that allows arbitrary threads to act as schedulers for other threads. When the C preprocessor symbol CPU_INHERIT is defined, the default POSIX scheduler is replaced by a CPU inheritance support module, plus a number of example schedulers that demonstrate how to write an application level scheduler using the OSKit provided CPU inheritance interface. The primary advantage of CPU inheritance scheduling is that widely different scheduling policies can be implemented, and yet still function properly together. Additionally, CPU inheritance scheduling neatly addresses the problem of priority inversion by providing a general interface for priority inheritance that can be used by either scheduler threads or arbitrary application threads. In the sections that follow, the CPU inheritance interface functions are described. The reader is encouraged to look at the example schedulers in threads/cpuinherit.