Kernux is a Linux software that functions as a fully kernel-mode http-daemon.
While khttpd was included in the Linux testing kernel 2.5 by Linus Torvalds, it was not actually in kernel-mode of operation. Furthermore, it handled dynamic requests which is assumed to be insecure for the server OS by the Linux kernel developers. Tux, on the other hand, is an implementation of kernel mode http-daemon being developed by RedHat. The developer, Ingo Molnar, is also the creator of O(n) scheduler which controls the procsses from Linux kernel version 7.2 onwards.
Kernux itself works as a kernel module, similar to a device driver. It uses low-level socket operations to handle client requests. The system consists of several threads running simultaneously on the OS level (kernel_threads). An idle kernel-thread receives a connection from a wait queue, maintained at the Operating System level, and serves it accordingly.
One unique aspect of Kernux is that it uses no duplication of sockets, unlike many other servers. Instead, a single socket is maintained by a mutual exclusion system and accessed by multiple kernel-threads. Each thread analyses the type of request, whether it is static or dynamic, and serves the client accordingly. Currently, the system is configured to handle only static requests, but dynamic requests can be directed to a user-mode web server of the user's choice, such as Apache.
Overall, Kernux shows tremendous promise as a powerful and efficient kernel-mode http-daemon for Linux systems. While still in development, it is already proving to be a valuable addition to the field, setting itself apart with its unique socket management system and efficient use of resources.
Version 1.0: N/A