Super-server
   HOME

TheInfoList



OR:

A super-server or sometimes called a service dispatcher is a type of
daemon Daimon or Daemon (Ancient Greek: , "god", "godlike", "power", "fate") originally referred to a lesser deity or guiding spirit such as the daimons of ancient Greek religion and Greek mythology, mythology and of later Hellenistic religion and Hell ...
run generally on
Unix-like A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
systems.


Usage

A super-server starts other
server Server may refer to: Computing *Server (computing), a computer program or a device that provides functionality for other programs or devices, called clients Role * Waiting staff, those who work at a restaurant or a bar attending customers and su ...
s when needed, normally with access to them checked by a
TCP wrapper __NOTOC__ TCP Wrappers (also known as tcp_wrappers) is a host-based networking ACL system, used to filter network access to Internet Protocol servers on (Unix-like) operating systems such as Linux or BSD. It allows host or subnetwork IP address ...
. It uses very few resources when in idle state. This can be ideal for
workstations A workstation is a special computer designed for technical or scientific applications. Intended primarily to be used by a single user, they are commonly connected to a local area network and run multi-user operating systems. The term ''worksta ...
used for local web development, client/server development or low-traffic daemons with occasional usage (such as ident and
SSH The Secure Shell Protocol (SSH) is a cryptographic network protocol for operating network services securely over an unsecured network. Its most notable applications are remote login and command-line execution. SSH applications are based on ...
).


Performance

The creation of an operating system process embodying the sub-daemon is deferred until an incoming connection for the sub-daemon arrives. This results in a delay to the handling of the connection (in comparison to a connection handled by an already-running process). Whether this delay is incurred repeatedly for every incoming connection depends on the design of the particular sub-daemon; simple daemons usually require a separate sub-daemon instance (i.e. a distinct, separate operating system process) be started for each and every incoming connection. Such a request-per-process design is more straightforward to implement, but for some workloads, the extra CPU and memory overhead of starting multiple operating system processes may be undesirable. Alternatively, a single sub-daemon operating system process can be designed to handle multiple connections, allowing similar performance to a "stand alone" server (except for the one-off delay for the first connection to the sub-daemon).


Implementations

*
inetd inetd (internet service daemon) is a super-server daemon on many Unix systems that provides Internet services. For each configured service, it listens for requests from connecting clients. Requests are served by spawning a process which runs the ...
*
launchd launchd is an init and operating system service management daemon created by Apple Inc. as part of macOS to replace its BSD-style init and SystemStarter. There have been efforts to port launchd to FreeBSD and derived systems. Components ...
* systemd *
ucspi-tcp ucspi-tcp is a public domain Unix TCP command-line tool for building TCP client-server applications. It consists of super-server ''tcpserver'' and ''tcpclient'' application. Fro"Life with qmail" Dave Sill, 2 January 200 ''ucspi-tcp'' is an a ...
*
xinetd In computer networking, xinetd (''Extended Internet Service Daemon'') is an open-source super-server daemon which runs on many Unix-like systems, and manages Internet-based connectivity. It offers a more secure alternative to the older inetd ...


References

{{Network-software-stub Internet Protocol based network software Servers (computing)