Abstract: An apparatus for and method of providing user exits, including dynamic installation of associated software, within the kernel portion of an operating system. An initializer replaces existing system call pointers, in the system services table located in the kernel portion of an operating system, with new pointers to user supplied code. System calls that are hooked, when issued by a user application, are intercepted by a kernel level intercepter which generates a query to a database interface. The database interface sends database requests based on the received query to a database engine. A database manager allows a user to add, delete, edit, etc. records in a database included in the database engine. A method of dynamically inserting user supplied code into the kernel space of an operating system is also disclosed. A communications channel is opened and its associated buffer location is found. A bootstrap loader module is then written into the communications channel buffer.