Showing posts with label architecture. Show all posts
Showing posts with label architecture. Show all posts

Tuesday, 10 June 2014

virt 101 - Day Three: Methods of Virtualizing the x86 Platform

Day two of this series introduced x86 CPU architecture and the concept of four levels of privilege.

Keeping in mind that the operating system expects to be running at the most privileged level (0) and have complete control over the CPU, 
     what happens when a hypervisor is introduced?

Day three will explore the following methods of virtualizing the x86 Platform:

  • Binary Translation
  • Paravirtualization
  • Hardware Assisted Virtualization

Binary Translation

Tuesday, 27 May 2014

virt 101 - Day Two: Virtualization and x86 CPU Architecture

Welcome to day two of the virtualization 101 series. We will explore how server virtualization works, and the basics of x86 CPU architecture.
How does server virtualization work?


In a virtual machine,  computations are performed using a physical CPU, memory, and disk storage – although in some cases the amount  of resources presented to the virtual machine does not really exist. There are various techniques used to optimize actual physical resource utilization.

Sunday, 25 May 2014

virt 101 - Day One: Introduction

Welcome to my virtualization 101 series of blog posts. This will introduce x86 server virtualization at a high level, and dig deeper into specific concepts. I will be posting regular updates in this series, and feedback is welcome.

Here are some of the concepts and terms that will be considered:

  • Server Virtualization vs. Cloud Computing vs. Emulation
  • When was virtualization introduced?
  • How does virtualization work?
  • x86 CPU Architecture
  • Binary Translation
  • Paravirtualization
  • Hardware Assisted Virtualization
  • Virtualized Memory Management
  • Extended Page Tables or Nested Page Tables
  • Virtualized I/O and Devices
  • Benefits and Challenges of Virtualization