Each and every notebook or desktop or web server is run by an Operating System - the low-level program which communicates with the hardware, including peripheral devices such as a mouse or a printer, along with any applications that are currently installed on your system. Any program input using a command line or a Graphical User Interface (GUI) is processed by sending an Application Program Interface (API) request to the OS. On a web server, each app runs within the parameters specified by the OS as well - priority, physical memory, processing time, and so on. This goes for both standard website scripts and server-side software such as a media server. When a virtual server is created on a physical one, there can be two separate Operating Systems, called guest OS and host OS, which means that you can set up a different software environment on the very same machine.