To my understanding, a virtual machine (VM) allows a user to be able to dedicate space and memory from hardware to run emulated software/operating systems in an environment.  What I don't understand is how do these servers persist. If the hardware that hosts the VM needs to reset, how is the VM saved. Does a program (or a service)  have to be running at all times to keep the VM alive? I would love to learn more about VM and their advantages and how you would set up a network utilizing them.