资源预览内容
第1页 / 共71页
第2页 / 共71页
第3页 / 共71页
第4页 / 共71页
第5页 / 共71页
第6页 / 共71页
第7页 / 共71页
第8页 / 共71页
第9页 / 共71页
第10页 / 共71页
亲,该文档总共71页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Introduction to VirtualizationIntroduction to Virtualization Kang Chen HPC, DCST, TsinghuaOutlinesOutlinesVirtualization is Virtualization is HOT!HOT!HistoryHistoryHistoryHistoryWhat is virtualization?What is virtualization?See multiple OSes?See multiple OSes?VM1 (Linux RedHat)VM2 (Win98)Physical (Win2000)TerminologyTerminologyVirtualization: Virtualization: What is it?What is it?MotivationsMotivationsVirtual Machine MonitorVirtual Machine MonitorSoftware Layer between hardware and OS, virtualizes and manage hardware resourcesIBM MainframeIBM VM/370CMSVMS VMSCMSAppAppAppAPPVirtualization LevelsVirtualization LevelsAPI CallsSystem CallsInstructionsUser SpaceKernel SpaceLevels of VirtualizationLevels of VirtualizationISA Level VirtualizationISA Level VirtualizationISA Level ISA Level Virtualization:ExamplesVirtualization:ExamplesStanford DISCOStanford DISCOEmulator , Binary TranslationEmulator , Binary TranslationCPU Emulator Simulate different ISA while running on one ISA machine, E.g. Intel IA32 emulator running on MAC based on PowerPCBinary Translation Translate the code from one ISA to another E.g. translate the application code from IA32 to IPFOther EmulatorsOther EmulatorsVirtutech Simics, Simics models dozens of processor types and associated peripheral devices, including systems based on Alpha, PowerPC, SPARC, IA32 (x86), and x86- 64 “Hammer” CPUs, as well as IA-64 (Itanium), ARM and MIPSMicrosoft Virtual PC for MACSun Shade: emulate the ISA of SPARC and MIPS IBinary TranslationBinary TranslationFX!32: Run x86 windows NT programs on top of Windows for AlphaIA32 EL: The IA32 Execution Layer. Run x86 programs on top of Windows for IPFDynamo System: Improving the performances by using binary translation, both on HP PA8000Aries System: Run programs written for PA-RISC on top of IPFHAL Level VirtualizationHAL Level VirtualizationStand Alone vs. HostedStand Alone vs. Hosted21HardwareHardwareHardwareHost OSVMMGuest OS2Guest OS1AppAppHost OSVMMGuest OS1AppGuest OS2AppJVM CLR VMware WorkstationMicrosoft Virtual ServerVMMGuest OS2Guest OS1AppAppVMware ESX Server Xen MS ViridianVmware Workstation Vmware Workstation ArchitectureArchitectureGuest OS ApplicationsGuest Operating SystemHost OS AppsHost OSDisksMemory CPUNICVMware AppVirtual MachineVMware DriverVirtual Machine MonitorPC HardwareWorld Switch: save and restore all the hardware states (Host OS and VMM share the same highest privilege.Vmware ESX ServerVmware ESX ServerMemorynicnicNICdiskCPUx86 SMP HardwareConsole OSVMMGuest OSGuest OSGuest OSGuest OSVMkernelSchedulerMemory MgmtSCSI DriverEthernet DriverVMMVMMVMMVMware I/O VirtualizationVMware I/O VirtualizationVMM does not have access to I/OI/O in “host world” Low level I/O instructions (issued by guest OS) are merged to high-level I/O system calls VM Application executes I/O SysCalls VM Driver works as the communication link between VMM and VM ApplicationVirtual PCVirtual PC“Everything is about Microsoft”“Everything is about Microsoft”ParavirtualizationParavirtualizationVMware / Virtual PC Guest OS lives in a complete virtual world with no knowledge about the real machine Support legacy OS Difficult to scale to high numbers Interrupt handling/memory management/world switching Solution? Paravirtualization Provides a much simpler architecture interface for the customized guest OSes Virtual I/O and CPU instructions, registers, Trade portability for performance and scalability Denali/XenXenXenExposes some “real” hardware E.g. clock, physical memory address Maintain the same application binary interface(ABI) The effort of porting OSes is minimal Examples: Page table Guest OS have the direct access to hardware page tables, but updates are batched and validated by Xen Timer Interface Guest Os is aware both “real” and “virtual” timeXen ArchitectureXen ArchitectureHardwareXenDomain0XenoLinuxXenoWindowsApplicationApplicationApplicationApplicationApplicationApplicationApplicationApplicationApplicationControl, I/OControl, I/O (Domain 0)(Domain 0)Guest Guest DomainDomainGuest Guest DomainDomainApplicationDenaliDenaliDesign to support thousands of VM instance running network servicesHosting a single application, single- user unprotected guest OSNot support ABI compatibilityNot support virtual memoryPre- VirtualizationPre- VirtualizationOthersOthersUser-mode Linux: run Linux on top of Linux Virtual device: port Linux kernel to the Linux system call interface rather than a hardware interface Using ptrace facility to track system calls and trap them into user-space kernelCooperative Linux: run Linux as an unprivileged VM in kernel mode on top of another OS, e.t., Windows Host OS needs to support loading drivers Each kernel has its own complete CPU context and address space, and decide when to give the control back to its parternerExoKernelExoKernelTraditional centralized resource manageme
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号