Each and every notebook or desktop or server is run by an Operating System - the low-level software that communicates with the hardware, including peripheral devices such as a mouse or a printer, together with any applications that are present on the system. Any program input through a command line or a Graphical User Interface (GUI) is processed by sending an Application Program Interface (API) request to the Operating System. On a server, every single application runs within the parameters established by the OS as well - priority, physical memory, processing time, etc. This goes for both standard Internet site scripts and server-side software such as a media server. In case a virtual server is set up on a physical one, there can be two independent Operating Systems, called guest OS and host OS, so that you can set up a different software environment on a single machine.