Hypervisors and Virtual Machines: Implementation Insights on the x86 Architecture