TUX web server
The TUX web server is a World Wide Web server that can be run partially inside the Linux kernel, to provide the highest performance possible. Its name is derived from the Linux penguin mascot, Tux. It was originally contributed to the Linux kernel project by kernel hacker Ingo Molnar.[1]
Development and Limitations
It is currently limited to serving only static pages, meaning that it can't serve pages that were dynamically created using web scripting languages such as PHP or Perl.
TUX has never been an integrated part of the official Linux kernel, although it has been shipped in some Linux distributions, notably Red Hat, SuSE and Fedora.
It served as a testbed for many features which were integrated separately, including the Native POSIX Thread Library. With the right tuning parameters, the library allows web servers to serve pages at a speed very close to that of a kernelspace web server such as TUX but without its limitations.
Controversy over Security
Linux kernel hackers argued that having a daemon that by design is directly accessible from the Internet (as a web server would have to be) that is built directly into the kernel is very dangerous.
A common bug such as a buffer overflow within TUX could give an attacker full remote superuser control over a machine.
They argue that it is much safer to keep such daemons entirely within userspace, where a bug does not necessarily give an attacker total control. However, some Linux distributions, such as Fedora, have added TUX back into 2.6 kernels.
Related Topics
- Apache Web Server, another web server that runs completely outside of a kernel
- The Linux kernel article, for a general overview of the Linux kernel and architecture