Hardware and Software Support for Virtualization (Synthesis Lectures on Computer Architecture)