1. A computer system comprising: a processor; one or more deprivileged Virtual Machines (VM), wherein each of the one or more deprivileged VMs have a guest operating system, and are running under control of a corresponding Virtual Machine Monitor (VMM); each of the corresponding VMM is controlled by a corresponding hyperswitch inside a Hypervisor, wherein the Hypervisor controls a plurality of virtualization spaces, each of the plurality of virtualization spaces contain the corresponding VMM; a primary operating system (OS) having access to at least some hardware resources of the computer system and the Hypervisor controlling at least some of the remaining hardware resources; each of the virtualization space maintaining data of the corresponding instance of the deprivileged VM and each of the VM executing atomic and non-atomic instructions and being associated with at least one virtual processor that runs under control of its corresponding VMM; the Hypervisor containing a scheduling routine and one or more hyperswitches, wherein each of the one or more hyperswitches correspond to each of the one or more VMs; a Virtual CPU (VCPU) worker thread that runs under control of the primary OS and receives a time quantum from the primary OS without intervention from the one or more VMs, wherein the time quantum is a duration of time that the VM can execute; upon receiving the time quantum, the VCPU calls the scheduling routine inside the Hypervisor, wherein the scheduling routine upon receiving the call from the VCPU, looks ahead to a control list and determines a VM from the one or more VMs that will be executed during the duration of the time quantum using a scheduling policy that is any of: priority based, weight based, bursting limit or quarantine condition; the scheduling routine invokes the corresponding hyperswitch of the determined VM; the corresponding hyperswitch invoked by the scheduling routine redirects the time quantum to the VMM that controls the VM; the VM starts execution under the control of the VMM for the duration of the time quantum, wherein the VM executes atomic and non-atomic instructions; wherein for each executed non-atomic instruction, calculates a new value and updates a random access memory location, the Hypervisor checks if an original value in the random access memory location had changed during execution of the non-atomic instruction, and only when the original value has changed, the non-atomic instruction is rolled back to recalculate the new value using the changed value and then stores it in the random access memory location, and does not recalculate the new value when the original value has not changed.