Each notebook or desktop or web server is run by an Operating System - the low-level program which communicates with the hardware, including peripherals such as a mouse and a printer, together with any apps that are currently installed 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 OS. On a server, each and every app runs within the parameters established by the OS as well - priority, physical memory, processing time, and so on. This goes for both standard site scripts and server-side software like a media server. If a virtual server is created on a physical one, there can be two independent Operating Systems, called guest OS and host OS, which means that you will be able to set up a different software environment on the same machine.