The kernel library is linked to both the kernel and userspace. It consists primarily of: 1. Code intended for use by userspace to communicate with the kernel 2. Code which is needed by both the user and the kernel, but would not be appropriate in some other shared tree (such as the lowlevel lib or the util includes), due to reliance on some aspect of the kernel's functioning (or for some other reason).