TUX web server

TUX web server

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

It is currently 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 tux(2) system call.

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 faster than traditional web servers. This is largely due to its place directly within the kernel, where it can improve performance by taking advantage of facilities not available to traditional web servers, which run outside of the kernel. 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. However, CGI suffers from significant performance limitations. Therefore, using CGI to provide dynamic content would completely negate all of the performance advantages of using TUX in the first place, and is therefore not recommended. While TUX itself can only serve static web pages, whenever TUX receives a request that it is unsure of or unable to process, it can redirect the request to a traditional userspace web server daemon. This allows TUX to handle both dynamic content and errors in a safer, faster, and RFC-correct manner. An example of such a user-space web server might be the Apache HTTP Server.

TUX has never been an integrated part of the official Linux kernel, although it has been shipped in some distributions, notably Red Hat, SuSE and Fedora. It served as a test bed (and motivator) for many features which were integrated separately. One major component was the Native POSIX Thread Library, which, with the right tuning parameters, allows userspace web servers to serve web pages at a speed very close to that of a kernelspace web server like TUX but without its limitations. Core kernel developers also argued that having an HTTP daemon within the kernel is dangerous. For example, a common bug such as a buffer overflow within TUX could give an attacker superuser control over the machine. Therefore, it is much safer to keep the HTTP daemon 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.

See also

*Httpd

External links

* [http://www.stllinux.org/meeting_notes/2001/0719/tux/index.html TUX 2.0 Documentation]
* [http://www.redhat.com/docs/manuals/tux/TUX-2.0-Manual/index.html TUX 2.0 Reference Manual]
* [http://people.redhat.com/~mingo/TUX-patches/ TUX downloads]
* [http://www.fenrus.demon.nl/ kHTTPd - Linux HTTP Accelerator]
* [http://httpd.apache.org/docs/1.3/misc/perf-bsd44.html Example of tuning kernel parameters for maximum performance of a userspace webserver (Apache)]


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • Web-Server — Der Host des ersten Webservers von Tim Berners Lee am CERN Ein Webserver (lat. servus, engl. server „Diener, Dienst“) ist ein Computer, der Dokumente an Clients wie z. B. Webbrowser überträgt. Als Webserver bezeichnet man den Computer mit… …   Deutsch Wikipedia

  • Web Server — Der Host des ersten Webservers von Tim Berners Lee am CERN Ein Webserver (lat. servus, engl. server „Diener, Dienst“) ist ein Computer, der Dokumente an Clients wie z. B. Webbrowser überträgt. Als Webserver bezeichnet man den Computer mit… …   Deutsch Wikipedia

  • Comparison of web server software — This article is a comparison of web server software. Contents 1 Overview 2 Features 3 Operating system support 4 See also …   Wikipedia

  • Tux (disambiguation) — Tux may refer to: Computing *Tux, the Linux mascot *TUX web server, an in kernel Web server for Linux Places *Tux Alps, a mountain range in Tyrol, Austria *Tux, or Tatvan, a city in Turkey *Tumbler Ridge Airport (IATA code TUX) in British… …   Wikipedia

  • In-kernel web server — An in kernel web server is an unlimited HTTP server that runs in kernel space or equivalent. Also called accelerator . Benefits * Performance. The path taken by data from disk to network. Proper asynchronous zero copy interfaces would make this… …   Wikipedia

  • Tux — is the official mascot of the Linux kernel. Originally created as an entry to a Linux logo competition, the image of the mascot is the most commonly used icon for Linux, used in many flavors showing Tux in one way or another. He is also used in… …   Wikipedia

  • Tux (Webserver) — Der Tux ist ein kernelbasierter Webserver für Linux, entwickelt von Ingo Molnár und unter der GPL lizenziert. Benannt ist er nach dem Linux Maskottchen Tux. Dadurch, dass er direkt im Kernel läuft, kann er statische Websites sehr schnell… …   Deutsch Wikipedia

  • HTTP-Server — Der Host des ersten Webservers von Tim Berners Lee am CERN Ein Webserver (lat. servus, engl. server „Diener, Dienst“) ist ein Computer, der Dokumente an Clients wie z. B. Webbrowser überträgt. Als Webserver bezeichnet man den Computer mit… …   Deutsch Wikipedia

  • HTTP Server — Der Host des ersten Webservers von Tim Berners Lee am CERN Ein Webserver (lat. servus, engl. server „Diener, Dienst“) ist ein Computer, der Dokumente an Clients wie z. B. Webbrowser überträgt. Als Webserver bezeichnet man den Computer mit… …   Deutsch Wikipedia

  • WWW-Server — Der Host des ersten Webservers von Tim Berners Lee am CERN Ein Webserver (lat. servus, engl. server „Diener, Dienst“) ist ein Computer, der Dokumente an Clients wie z. B. Webbrowser überträgt. Als Webserver bezeichnet man den Computer mit… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”