C Library

OSKit has it's own C library that is oriented towards kernel use. It is based on the BSD C library source. This is a minimal library where all dependencies on global variables or other files has been minimized. The stdio library is designed with kernel use in mind.

Memory Allocation

OSKit provides three levels of memory allocation. The first level is the standard C library routines, malloc, realloc, calloc, and free. The second level is much more memory efficient, and the third is OSKit specific, and used for allocating a specific type of memory.

For OSKit's memory function to work, the global variable malloc_lmm must be set to the address of all the physical memory in the system. Malloc_lmm is of the type lmm_t as defined in the header file oskit/c/malloc.h.