In-kernel web server
Appearance
An in-kernel web server is an unlimited HTTP server that runs in kernel space or equivalent. It is also known as "accelerator".
Benefits
[edit]- Performance: 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: with respect to number of simultaneous clients. Event notification of comparable scalability seems unlikely in user-space1.
Drawbacks
[edit]- 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
[edit]- illumos/Solaris: NCAkmod aka Network Cache and Accelerator (NCA) kernel module
- HP-UX: NSAhttp (NSA is an acronym for Network Server Accelerator)
- Linux: TUX
- Mesibo In-kernel real-time messaging server
- Windows NT: http.sys (part of IIS)
- SPIN: http
- OpenVMS: WASD.trap
See also
[edit]- Comparison of web server software
- Service-oriented architecture
- Unikernel/Exokernel (eg. SPIN's loadable kernel modules)