An in-kernel web server is an unlimited
HTTP server that runs in
kernel space or equivalent. It is also known as "accelerator".
Benefits
*
Performance
A performance is an act or process of staging or presenting a play, concert, or other form of entertainment. It is also defined as the action or process of carrying out or accomplishing an action, task, or function.
Performance has evolved glo ...
: the path taken by data from a source
device (i.e. a
disk) to a destination device (i.e. a
NIC). Proper asynchronous
zero-copy interfaces would make this available from
user-space.
*
Scalability
Scalability is the property of a system to handle a growing amount of work. One definition for software systems specifies that this may be done by adding resources to the system.
In an economic context, a scalable business model implies that ...
: with respect to number of simultaneous
clients.
Event notification of comparable scalability seems unlikely in user-space.
Drawbacks
*Security: Kernel processes run with unlimited privileges.
*Portability. Every kernel needs a specific implementation route.
*Reliability. Failure in the webserver may crash the OS.
Implementations
*
illumos
Illumos (stylized as "illumos") is a partly free and open-source Unix operating system. It has been developed since 2010 and is based on OpenSolaris, after the discontinuation of that product by Oracle. It comprises a kernel, device driver ...
/
Solaris:
NCAkmod aka Network Cache and Accelerator (NCA) kernel module
*
HP-UX:
NSAhttp (NSA is an acronym for Network Server Accelerator)
*
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
:
TUXMesiboIn-kernel real-time messaging server
*
Windows NT
Windows NT is a Proprietary software, proprietary Graphical user interface, graphical operating system produced by Microsoft as part of its Windows product line, the first version of which, Windows NT 3.1, was released on July 27, 1993. Original ...
:
(part of
Internet Information Services, IIS)
*
SPIN:
http
HTTP (Hypertext Transfer Protocol) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, wher ...
*
OpenVMS
OpenVMS, often referred to as just VMS, is a multi-user, multiprocessing and virtual memory-based operating system. It is designed to support time-sharing, batch processing, transaction processing and workstation applications. Customers using Op ...
:
WASD.trap
See also
*
Comparison of web server software
*
Service-oriented architecture
*
Unikernel/
Exokernel (eg.
SPIN's
loadable kernel modules)
References
*{{note, 1, 1
CITI_TR_00-4High-Performance Memory-Based Web Servers: Kernel and User-Space Performance. Philippe Joubert, Robert B. King, Rich Neves, Mark Russinovich, John M. Tracey. IBM. T. J. Watson Research Center
Web server software