- This article is about computer servers. For the food service use, see waiter.
In computing, a server is:
- A computer software application that carries out some task on behalf of users. This is usually divided into file serving, allowing users to store and access files on a common computer; and application serving, where the software runs a computer program to carry out some task for the users. This is the original meaning of the term. Web, mail, and database servers are what most people access when using the internet.
- The term is now also used to mean the physical computer on which the software runs. Originally server software would be located on a mainframe computer or minicomputer. These have largely been replaced by computers built using a more robust version of the microprocessor technology than is used in personal computers, and the term "server" was adopted to describe microprocessor-based machines designed for this purpose. In a general sense, server machines have high-capacity (and sometimes redundant) power supplies, a motherboard built for durability in 24x7 operations, large quantities of ECC RAM, and fast I/O subsystem employing technologies such as SCSI, RAID, and PCI-X or PCI-Express.
Sometimes this dual usage can lead to confusion, for example in the case of a web server. This term could refer to the machine which stores and operates the websites, and it is used in this sense by companies offering commercial hosting facilities. Alternatively, web server could refer to the software, such as the Apache HTTP server, which runs on such a machine and manages the delivery of web page components in response to requests from web browser clients.
A server computer shares its resources, such as peripherals and file storage, with the users' computers, called clients, on a network. It is possible for a computer to be a client and a server simultaneously, by connecting to itself in the same way a separate computer would.
Many large enterprises employ numerous servers to support their needs. A collection of servers in one location is often referred to as a server farm. It is possible to configure the machines to distribute tasks so that no single machine is overwhelmed by the demands placed upon it (called load balancing), and this is often done for hosts that expect tremendous amounts of activity. The terminology can be even more confusing in this case because the client (or user) will connect to a remote host to access the server application, and that server application may need to access other server software and/or another server machine.
Due to the continual demand for ever more powerful servers in ever decreasing spaces, companies such as IBM have developed higher density configurations, the most notable of which is known as the blade server. Blade servers incorporate a number of server computers - sometimes as many as nine - each housed inside a high-density module known as a "blade", within the space typically occupied by a single computer.
Server operating systems
The rise of the microprocessor-based server was facilitated by the development of several versions of the Unix operating system to run on the Intel microprocessor architecture, including Solaris, Linux and FreeBSD. The Microsoft Windows series of operating systems also now includes server versions that support multitasking and other features required for servers, beginning with Windows NT. The current Windows Server version is Windows Server 2003.
X Window server
The X Window System can cause some confusion in the definition of servers and clients. One might expect that the "server" in X would be the computer in which individual programs are running. In reality, an X server provides access to computer input and output devices, such as monitors, keyboards, and mice. Programs that are running in an X environment connect to the server to gain access to the hardware. In most situations, both the X server, and the X clients (programs) reside on the same computer, but X allows for situations where clients can be running on multiple computers that are miles away.
Mainframes and minicomputers were originally accessed using dumb terminals, which were unable to carry out any significant processing. This largely ended with the widespread use of personal computers by users.
- Mail server
- Web server
- FTP server
- image server
- server log
- streaming media server
- sound server
- client-server model
- History of computing hardware (1960s-present)
- Dedicated server
- System support for scalable network servers
- The C10K problem
- Discussion "Writing a scalable server"