ECE344-Lecture27-Virtualization

ECE344-Lecture27-Virtualization - Lecture 27:...

Info iconThis preview shows pages 1–6. Sign up to view the full content.

View Full Document Right Arrow Icon
1 Lecture 27: Virtualization David Lie ECE344 University of Toronto
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
2 ECE344: Operating Systems Memory Virtualization Another challenge with VMM implementation is virtualizing the MMU: – VMM needs to use MMU to isolate different guest OSs from each other – Guest OSs need to use MMU to isolate processes from each other – Problem: there is only one TLB/MMU on the processor so VMM must create a “virtual” TLB • However, if every memory access went through translation by a software TLB, this would be too slow!
Background image of page 2
3 ECE344: Operating Systems Terminology 2 layers of memory virtualization: – 2 sets of translations, 1 for each layer of virtualization – 2 sets of page tables to hold each translation 1 page table in guest to translate guest addresses 1 page table in VMM to translate guest addresses to machine addresses Guest OS (Guest Physical Addresses) Guest Processes (Guest Virtual Addresses) VMM (Machine Physical Addresses)
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
4 ECE344: Operating Systems Software-Managed TLB To service a TLB miss, the VMM must do two translations to figure out what machine physical frame a fault on a guest virtual page number maps to: – Guest virtual page number → Guest physical page frame → Machine physical page frame MMU virtualization with a software-managed TLB: – When guest OS boots, VMM gives guest OS a virtual interrupt table. – Guest OS sets the pointer to the TLB miss handler in the virtual interrupt table. VMM learns entry point of Guest TLB Miss Handler
Background image of page 4
5 ECE344: Operating Systems Software-Managed TLB TLB miss occurs and triggers the real TLB miss handler in VMM: – VMM invokes the Guest TLB miss handler – Guest TLB miss handler will try to fill the TLB, this is privileged so it traps and VMM learns what guest physical
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 6
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 14

ECE344-Lecture27-Virtualization - Lecture 27:...

This preview shows document pages 1 - 6. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online