Kernel Debugging User-Space API Library (KDUAL) http://www.kernel.org/ Background The Linux kernel is an extremely complex program spanning more than 2 million lines. It must be held to the most stringent standards of performance, as any malfunction, or worse, security flaw, could be potentially fatal for a critical application. However, because of the nature of the kernel and its close interaction with hardware, it's extremely difficult to debug kernel code. The goal of this project is to create a C library that provides the kernel API, but operates in ordinary user space, without actual interaction with the underlying system. Kernel code currently being tested can then be compiled against this library for testing without the risks and confusion of testing it on a live system. Abstract The purpose of this project is to create an implementation of much of the kernel API that functions in user space, the normal environment that processes run in. The issue with testing kernel code is that the live kernel runs in kernel space, a separate area that deals with hardware interaction and management of all the other processes. Kernel space debuggers are unreliable and very limited in scope; a kernel failure can hardly dump useful error information because there's no operating system left to write that information to disk. Kernel development is quite likely the most important active project in the Linux community. Any aids to the development process would be appreciated by the entire kernel development team, allowing them to do their work faster and pass changes along to the end user quicker. This program will make a direct contribution to kernel developers, but an indirect contribution to every future user of Linux. Process Kernel development is quite likely the most important active project in the Linux community. Any aids to the development process would be appreciated by the entire kernel development team, allowing them to do their work faster and pass changes along to the end user quicker. This program will make a direct contribution to kernel developers, but an indirect contribution to every future user of Linux.. A snippet of the KDUAL makefile.