- Memory Virtualization
- Shadow Page Table
Direct Mapping from GVA → HPA
VMM handles updating the pages
Traps to VMM thus require context switches and lot more cycles
- Extended Page Tables
Mapping from GVA → GPA and then GPA → HPA
This is done with the help of MMU thus requires hardware support
- Memory Reclamation Techniques
- Uncooperative Swapping
Forcefully free pages
can free important pages thus leading to performance issues
- Ballooning
Make a dummy device inside the guest os and ask for pages (inflating the balloon)
whatever pages gets allocated, free them up
has the advantage of cooperating with the guest os
can take more time to reclaim the space
- Memory Sharing
Any pieces of memory which is same for multiple guest os’s can be mapped to the same physical memory.
Method: Scan pages and match based on hash-based similarity