The TUX web server is an unmaintained in-kernel web server for Linux licensed under the GNU General Public License (GPL). It was maintained by Ingo Molnár.

It was limited to serving static web pages and coordinating between kernelspace modules, userspace modules, and regular userspace web server daemons that provide dynamic content. Regular userspace web servers do not need to be altered in any way for TUX to coordinate with them. However, userspace code has to use a new interface based on the <code>tux(2)</code> system call.

Comparison with traditional web servers

The main differences between TUX and other webservers include:

  • TUX runs partly within a customized version of the Linux kernel and partly as a userspace daemon.
  • With a capable network card, TUX enables scatter-gather DMA from the page cache directly to the network.
  • TUX is only able to serve static web pages.

While only being able to serve static web pages could be seen as a significant disadvantage, TUX has one significant advantage: it is able to serve pages more efficiently than traditional web servers by to running directly within the kernel and avoiding data copies. However, this also means that TUX does not generate dynamic content. Because it is running within the kernel, such dynamic content cannot take advantage of functions that the kernel provides to userspace programs, and would create tremendous security issues.

TUX is capable of launching CGI programs to provide dynamic content.

See also

  • Comparison of web server software
  • Web server
  • Httpd

References

  • kHTTPd - Linux HTTP Accelerator