Server (computing): Difference between revisions
No edit summary |
No edit summary |
||
Line 4: | Line 4: | ||
[[Image:Inside and Rear of Webserver.jpg|thumb|right|A rack-mountable server. Top cover removed to reveal the internals.]] |
[[Image:Inside and Rear of Webserver.jpg|thumb|right|A rack-mountable server. Top cover removed to reveal the internals.]] |
||
HI |
HI ALEHHHHHH In the context of [[client-server architecture]], a '''server''' is a computer program running to serve the requests of other programs, the "[[Client (computing)|clients]]". Thus, the "server" performs some computational task on behalf of "clients". The clients either run on the same computer or connect through the network. |
||
In most common use, '''server''' is a physical computer (a [[hardware]] system) dedicated to running one or more such services (as a [[Host (network)|host]]),<ref>[http://www.webopedia.com/DidYouKnow/Hardware_Software/2005/servers.asp What is a server?]</ref> to serve the needs of users of the other computers on the network. Depending on the computing service that it offers it could be a [[database server]], [[file server]], [[mail server]], [[print server]], [[web servers]], or other. |
In most common use, '''server''' is a physical computer (a [[hardware]] system) dedicated to running one or more such services (as a [[Host (network)|host]]),<ref>[http://www.webopedia.com/DidYouKnow/Hardware_Software/2005/servers.asp What is a server?]</ref> to serve the needs of users of the other computers on the network. Depending on the computing service that it offers it could be a [[database server]], [[file server]], [[mail server]], [[print server]], [[web servers]], or other. |
Revision as of 20:00, 24 October 2011
This article needs additional citations for verification. (February 2010) |
![](http://upload.wikimedia.org/wikipedia/commons/thumb/f/f5/Rack001.jpg/220px-Rack001.jpg)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/3/38/Inside_and_Rear_of_Webserver.jpg/220px-Inside_and_Rear_of_Webserver.jpg)
HI ALEHHHHHH In the context of client-server architecture, a server is a computer program running to serve the requests of other programs, the "clients". Thus, the "server" performs some computational task on behalf of "clients". The clients either run on the same computer or connect through the network.
In most common use, server is a physical computer (a hardware system) dedicated to running one or more such services (as a host),[1] to serve the needs of users of the other computers on the network. Depending on the computing service that it offers it could be a database server, file server, mail server, print server, web servers, or other.
In the context of Internet Protocol (IP) networking, a server is a program that operates as a socket listener.[2]
Servers often provide essential services across a network, either to private users inside a large organization or to public users via the Internet. For example, when you enter a query in a search engine, the query is sent from your computer over the internet to the servers that store all the relevant web pages. The results are sent back by the server to your computer.
Usage
Servers provide essential services across a network, either to private users inside a large organization or to public users via the Internet. For example, when you enter a query in a search engine, the query is sent from your computer over the internet to the servers that store all the relevant web pages. The results are sent back by the server to your computer.
The term server is used quite broadly in information technology. Despite the many server-branded products available (such as server versions of hardware, software or operating systems), in theory any computerised process that shares a resource to one or more client processes is a server. To illustrate this, take the common example of file sharing. While the existence of files on a machine does not classify it as a server, the mechanism which shares these files to clients by the operating system is the server.
Similarly, consider a web server application (such as the multiplatform "Apache HTTP Server"). This web server software can be run on any capable computer. For example, while a laptop or personal computer is not typically known as a server, they can in these situations fulfill the role of one, and hence be labelled as one. It is in this case that the machine's purpose as a web server classifies it in general as a server.
In the hardware sense, the word server typically designates computer models intended for hosting software applications under the heavy demand of a network environment. In this client–server configuration one or more machines, either a computer or a computer appliance, share information with each other with one acting as a host for the other.
While nearly any personal computer is capable of acting as a network server, a dedicated server will contain features making it more suitable for production environments. These features may include a faster CPU, increased high-performance RAM, and typically more than one large hard drive. More obvious distinctions include marked redundancy in power supplies, network connections, and even the servers themselves.
Between the 1990s and 2000s an increase in the use of dedicated hardware saw the advent of self-contained server appliances. One well-known product is the Google Search Appliance, a unit that combines hardware and software in an out-of-the-box packaging. Simpler examples of such appliances include switches, routers, gateways, and print server, all of which are available in a near plug-and-play configuration.
Modern operating systems such as Microsoft Windows or Linux distributions rightfully seem to be designed with a client–server architecture in mind. These operating systems attempt to abstract hardware, allowing a wide variety of software to work with components of the computer. In a sense, the operating system can be seen as serving hardware to the software, which in all but low-level programming languages must interact using an API.
These operating systems may be able to run programs in the background called either services or daemons. Such programs may wait in a sleep state for their necessity to become apparent, such as the aforementioned Apache HTTP Server software. Since any software that provides services can be called a server, modern personal computers can be seen as a forest of servers and clients operating in parallel.
The Internet itself is also a forest of servers and clients. Merely requesting a web page from a few kilometers away involves satisfying a stack of protocols that involve many examples of hardware and software servers. The least of these are the routers, modems, domain name servers, and various other servers necessary to provide us the world wide web.
Server hardware
![](http://upload.wikimedia.org/wikipedia/commons/thumb/5/53/DL380sREAR.jpg/220px-DL380sREAR.jpg)
Hardware requirements for servers vary, depending on the server application. Absolute CPU speed is not usually as critical to a server as it is to a desktop machine [citation needed]. Servers' duties to provide service to many users over a network lead to different requirements such as fast network connections and high I/O throughput. Since servers are usually accessed over a network, they may run in headless mode without a monitor or input device. Processes that are not needed for the server's function are not used. Many servers do not have a graphical user interface (GUI) as it is unnecessary and consumes resources that could be allocated elsewhere. Similarly, audio and USB interfaces may be omitted.
Servers often run for long periods without interruption and availability must often be very high, making hardware reliability and durability extremely important. Although servers can be built from commodity computer parts, mission-critical enterprise servers are ideally very fault tolerant and use specialized hardware with low failure rates in order to maximize uptime, for even a short-term failure can cost more than purchasing and installing the system. For example, it may take only a few minutes of down time at a national stock exchange to justify the expense of entirely replacing the system with something more reliable. Servers may incorporate faster, higher-capacity hard drives, larger computer fans or water cooling to help remove heat, and uninterruptible power supplies that ensure the servers continue to function in the event of a power failure. These components offer higher performance and reliability at a correspondingly higher price. Hardware redundancy—installing more than one instance of modules such as power supplies and hard disks arranged so that if one fails another is automatically available—is widely used. ECC memory devices that detect and correct errors are used; non-ECC memory is more likely to cause data corruption.[citation needed]
To increase reliability, most of the servers use memory with error detection and correction, redundant disks, redundant power supplies and so on. Such components are also frequently hot swappable, allowing technicians to replace them on the running server without shutting it down. To prevent overheating, servers often have more powerful fans. As servers are usually administered by qualified engineers, their operating systems are also more tuned for stability and performance than for user friendliness and ease of use, Linux taking noticeably larger percentage than for desktop computers.[citation needed]
As servers need stable power supply, good Internet access, increased security and are also noisy, it is usual to store them in dedicated server centers or special rooms. This requires to reduce power consumption as extra energy used generates more heat and the temperature in the room could exceed the acceptable limits. Normally server rooms are equipped with air conditioning devices. Server casings are usually flat and wide, adapted to store many devices next to each other in server rack. Unlike ordinary computers, servers usually can be configured, powered up and down or rebooted remotely, using out-of-band management.
Many servers take a long time for the hardware to start up and load the operating system. Servers often do extensive pre-boot memory testing and verification and startup of remote management services. The hard drive controllers then start up banks of drives sequentially, rather than all at once, so as not to overload the power supply with startup surges, and afterwards they initiate RAID system pre-checks for correct operation of redundancy. It is common for a machine to take several minutes to start up, but it may not need restarting for months or years.
Server operating systems
Server-oriented operating systems tend to have certain features in common that make them more suitable for the server environment, such as
- GUI not available or optional
- ability to reconfigure and update both hardware and software to some extent without restart,
- advanced backup facilities to permit regular and frequent online backups of critical data,
- transparent data transfer between different volumes or devices,
- flexible and advanced networking capabilities,
- automation capabilities such as daemons in UNIX and services in Windows, and
- tight system security, with advanced user, resource, data, and memory protection.
Server-oriented operating systems can, in many cases, interact with hardware sensors to detect conditions such as overheating, processor and disk failure, and consequently alert an operator or take remedial measures itself.
Because servers must supply a restricted range of services to perhaps many users while a desktop computer must carry out a wide range of functions required by its user, the requirements of an operating system for a server are different from those of a desktop machine. While it is possible for an operating system to make a machine both provide services and respond quickly to the requirements of a user, it is usual to use different operating systems on servers and desktop machines. Some operating systems are supplied in both server and desktop versions with similar user interface.
The desktop versions of the Windows and Mac OS X operating systems are deployed on a minority of servers, as are some proprietary mainframe operating systems, such as z/OS. The dominant operating systems among servers are UNIX-based or open source kernel distributions, such as Linux (the kernel).[citation needed]
The rise of the microprocessor-based server was facilitated by the development of Unix to run on the x86 microprocessor architecture. The Microsoft Windows family of operating systems also runs on x86 hardware, and since Windows NT have been available in versions suitable for server use.
While the role of server and desktop operating systems remains distinct, improvements in the reliability of both hardware and operating systems have blurred the distinction between the two classes. Today, many desktop and server operating systems share similar code bases, differing mostly in configuration. The shift towards web applications and middleware platforms has also lessened the demand for specialist application servers.
Types of servers
In a general network environment the following types of servers may be found.
- Application server, a server dedicated to running certain software applications
- Catalog server, a central search point for information across a distributed network
- Communications server, carrier-grade computing platform for communications networks
- Database server, provides database services to other computer programs or computers
- Fax server, provides fax services for clients
- File server, provides file services
- Game server, a server that video game clients connect to in order to play online together
- Home server, a server for the home
- Name server or DNS server
- Print server, provides printer services
- Proxy server, acts as an intermediary for requests from clients seeking resources from other servers
- Sound server, provides multimedia broadcasting, streaming.
- Standalone server, an emulator for client–server (web-based) programs
- Web server, a server that HTTP clients connect to in order to send commands and receive responses along with data contents
Almost the entire structure of the Internet is based upon a client–server model. High-level root nameservers, DNS servers, and routers direct the traffic on the internet. There are millions of servers connected to the Internet, running continuously throughout the world.
Virtually every action taken by an ordinary Internet user requires one or more interactions with one or more servers.
There are also technologies that operate on an inter-server level. Other services do not use dedicated servers; for example peer-to-peer file sharing, some implementations of telephony (e.g. Skype), and supplying television programs to several users (e.g. Kontiki, SlingBox).
Energy consumption of servers
In 2010, servers were responsible for 2.5% of energy consumption in the United States. A further 2.5% of United States energy consumption was used by cooling systems required to cool the servers. In 2010 it was estimated that by 2020 servers would use more of the world's energy than air travel if current trends continued.[3]
Size classes
Sizes include:
- Rack Server
- Tower Server
- Minuture (Home) Servers
- Mini Rack Servers
See also
- Server definitions
References
- ^ What is a server?
- ^
Comer, Douglas E.; Stevens, David L. (1993). Vol III: Client-Server Programming and Applications. Internetworking with TCP/IP. Department of Computer Sciences, Purdue University, West Lafayette, IN 47907: Prentice Hall. pp. 11d. ISBN 0134742222.
{{cite book}}
: CS1 maint: location (link) - ^ "ARM chief calls for low-drain wireless". The Inquirer. 29 June 2010. Retrieved 30 June 2010.
{{cite web}}
: Italic or bold markup not allowed in:|publisher=
(help)