C2 Flashcards
key constituent of cloud computing: virtualization
the ability to create virtual machines
a virtual machine is an efficient, isolated duplicate of the real machine
Control Program (CP)
OS that simulates multiple copies of the machine it is running on
Conversational Monitor System (CMS)
interactive OS for a single user
- able to run under the CP or directly on the hardware
- time sharing: give each user its own copy of the CMS
trap-and-emulate method
- Guest OS ran in “user mode” of the VMM.
- If the guest attempted to execute a privileged instruction, a trap occurred.
- CP took over and emulated the privileged instruction
SIE instruction
emulating all priviledged instructions was too expensive => Start Interpretive Execution:
the hardware could emulate most privileged instructions without interference of the hypervisor (VMM). These instructions would operate on shadow system registers configured by the hypervisor
Virtual Machine Monitor (VMM)
- Creates a program environment that is equivalent to that of the original machine.
- Within this environment, programs run only slightly slower in the worst case.
- The VMM has full control of all system resources.
properties of a VMM
- Equivalence: the program (guest) is executed in a way such that it is indistinguishable whether a control program is present; all privileged instructions can be executed as meant by the programmer.
- Efficiency: all normal instructions are executed directly by the hardware without interference by the control program.
- Resource control: a program cannot grant itself additional resources; this can only be done through the allocator of the control program.
3 types of hypervisors (VMMs)
type-0: a firmware hypervisor implemented in the hardware
type-1: a bare metal hypervisor runs directly on top of the hardware
type-2: hypervisor runs on top of a host operating system
virtualizing the x86 architecture
binary translation:
- translate executable code, including privileged instructions to a code using only user-mode instructions
- privileged instructions are replaced with specific code to emulate the instruction
guestVA to guestPA translation is incomplete. why?
guest physical addresses are virtual addresses from the host’s point of view, so we need another translation of gPA/hVA to hPA
shadow paging
For every gVA → gPA translation that the guest OS adds, the VMM ensures the corresponding gPA → hVA → hPA translation.
The translation gVA → hPA is stored in the host page table that is accessed by the CPU’s MMU.
how was cloud computing born?
due to cost it became interesting to consolidate servers using virtualization => made possible to virtualize the commodity x86 platform
+ major advances in the development of a global high speed network