Class Note for EECS 700 with Professor Kulkarni at KU
Class Note for EECS 700 with Professor Kulkarni at KU
Popular in Course
Popular in Department
This 31 page Class Notes was uploaded by an elite notetaker on Friday February 6, 2015. The Class Notes belongs to a course at Kansas taught by a professor in Fall. Since its upload, it has received 15 views.
Reviews for Class Note for EECS 700 with Professor Kulkarni at KU
Report this Material
What is Karma?
Karma is the currency of StudySoup.
Date Created: 02/06/15
3 Introduction to Virtual Machines introduction abstraction and interfaces Virtualization computer system architecture process Virtual machines system Virtual machines EECS 700 Virtual Machines Spring 2009 5 Abstraction Mechanism to manage complexity in computer systems Mechanism consists of partition the design of a system into levels allow higher levels to ignore the implementation details of lower levels In computer systems lower levels are implemented in hardware and higher levels in software EECS 700 Virtual Machines Spring 2009 9 Interfaces An interface de nes the communication boundary between two ent1t1es hierarchical relationship linear relationship Software can run on any machine supporting a compatible interface EECS 700 Virtual Machines Spring 2009 5 Interfaces Advantages Allows decoupling of computer design tasks each component provides an abstraction of itself to the outside world Work on different components can progress independently Helps manage system complexity EECS 700 Virtual Machines Spring 2009 3 Interface Disadvantages Software compiled for one ISA will not run on hardware with a different ISA powerPC binaries on an X86 machine Even if lSA39s are same Oses may differ MS Windows applications Sun Solaris EECS 700 Virtual Machines Spring 2009 3 Interface Disadvantages 2 Binaries may not be optimized for the platform they run on Intel Pentium binaries on AMD Athlon Innovation may be inhibited by a xed ISA hard to change instruction sets Application software cannot directly exploit microprocessor implementation features software supposed to be implementationneutral EECS 700 Virtual Machines Spring 2009 5 Virtualization Removes some constraints imposed by system interfaces and increases exibility improves availability of application software removes the assumption of a single management regime improving security and failure isolation Provide a di erem view to a particular computer resource not necessarily a simpler view EECS 700 Virtual Machines Spring 2009 a Virtualization 2 Virtualization constructs an isomorphism that maps a Virtual guest system to a real host EECS 700 Virtual Machines Spring 2009 9 Virtualizaticn 3 Virtualizaticn Vs abstraction virtualizaticn does not necessarily hide details virtualiza tio I file file EECS 700 Virtual Machines Spring 2009 5 Concept of Virtualization applied to the entire machine Virtual Machines A Virtual machine is implemented by adding a layer of software to a real machine to support the desired Virtual machine s architecture 0 Virtualization mapping of Virtual resources or state to real resources use of real machine instructions to carry out actions speci ed by the Virtual machine instructions EECS 700 Virtual Machines Spring 2009 10 5 Some Bene ts of VMs Flexibility Portability Isolation Security EECS 700 Virtual Machines Spring 2009 3 Computer System Architecture Architecture functionality and appearance of a computer system but not the details of its implementation Implementation the actual embodiment of an architecture EECS 700 Virtual Machines Spring 2009 12 5 Computer systems are built of levels of abstraction hierarchical abstraction wellde ned interfaces Computer Architecture 2 Software Application Programs Libraries Operating System Drivers Memory Manager Scheduler Execution Hardware EECS 700 Virtual Machines Spring 2009 Memory System Interconnect TranSIatlon bus Controllers Controllers IIO deVIces Main and Memor Networking y Hardware 13 5 The ISA Interface Interface between lmy hardware and software Libraries Important for OS developer Operating System Marita Wigwam EECS 700 Virtual Machines Spring 2009 14 3 The ABI Interface Application 0 Application Binary programs Interface ABI user ISA system calls Important for compiler writers EECS 700 Virtual Machines Spring 2009 15 Application Programming Interface API user ISA library calls Important for application programmers The API Interface Application Programs Libraries Operating System Execution Hardware Memory Translation System Interconnect bus IIO devices Main and Memory Networking EECS 700 Virtual Machines Spring 2009 16 5 Maj or Program Interfaces ISA supports all conventional software Application Software I lSystem Calls l l Operating System I System ISA User ISA FF ISA ABI supports application software only Application Software System Calls Operating System System ISA User ISA AB EECS 700 Virtual Machines Spring 2009 17 5 Process Virtual Machines Process virtual machine is capable of supporting an individual process different guest and host ISA couple at ABI level Via runtime system Guest grgwxgrxgkgrgrkQQRJQN Runtim Host EECS 700 Virtual Machines Spring 2009 18 3 Process Virtual Machines 2 Constructed at ABI level Runtz me manages guest process host process Runtime communicates with host OS Guest processes may intermingle with host processes host process 39 quot runtlme I II As a practical matter binaries bu1lt for same OS T e 1 quot k r 1 Dynam1c opt1m1zers are a i 4 xHerfos special case 39 I le sharingi 39 ll Examples lA32 EL FX32 q quot77 Dynamo 1 network communicatior EECS 700 Virtual Machines Spring 2009 19 3 System Virtual Machines 39 System Virtual Machine capable of supporting an OS with potentially many user processes couple at ISA level eg IBM VM360 VMWare Transmeta Crusoe tl l l ll H Cl la lt11 m 21 nl l l l H 5 l o m r7 7 7 77 av 77 y 7 7 277 M 77 i7 77 7 77V quot 7 7 xi 7 7 Jr 77 7 7 R77 397 7 n7 7 77quot quotI 7 7 V f t a gt V I V 1 t 1 I 2 Guest rtuizi VM M Software Y 7 fL U Imula Mlh to TL j U KAN quotA r H N 37 H Rollinfair H 05 t UGlll Ci lmft jlt W EECS 700 Virtual Machines Spring 2009 20 5 PVM provided by a multiprocess OS for each concurrently executing application Combination of the OS system call interface and the userlevel ISA Each process is given the illusion of having the complete machine to itself PVM Multiprogramming EECS 700 Virtual Machines Spring 2009 21 5 PVM Emulators Execute binaries compiled to a different instruction set than that executed by the host s hardware Interpretation low startup overhead high steadystate per instruction emulation overhead EECS 700 Virtual Machines Spring 2009 22 9 PVM Dynamic Translators Runtime translation of blocks of source instructions to equivalent target instructions high startup translation overhead fast steadystate execution Uses a code cache to store translated blocks of code for reuse eg Digital s FX32 system Aries system Intel IA32 EL system EECS 700 Virtual Machines Spring 2009 23 JPVM Same ISA Binary Optimizers Same source and target ISAs Main task is the optimization of the source binary ABI level optimization may also collect performance pro les may also enhance security e g Dynamo system developed at Hewlett Packard EECS 700 Virtual Machines Spring 2009 24 PVM High Level Language VM A HLL is designed for VM execution minimize hardwarespeci c and OSspeci c features that could compromise portability Bali 39 Compiler frontend Compiler Intermediate Code Portable Code Virtual ISA Compiler backend V VM loader VM InterpreterTranslator Loader V 3 1Wquot If m quot r quot1quot 39 u 115 39LMQH 3Q 1UI Q a eetquotinatr ugtlene Traditional HLL VM EECS 700 Virtual Machines Spring 2009 25 JPVM High Level Language VM Binary class les are distributed ISA part of class le no real implementation OS interaction via API eg Java Microsoft CLI Java VM 1 Architecture VM VM VM implementation implementation Implementatlon Sparc x36 Applies Workstation Pic Mace EECS 700 Virtual Machines Spring 2009 3 Classic System Virtual Machine 0 Original meaning of the term virtual machine all guest and host software use the same ISA VMM runs on bare hardware most privileged mode VMM intercepts and implements all the privileged Operations for the guest OS 39 I VF w x We WW I In th virtual l network communication 1 EECS 700 Virtual Machines Spring 2009 27 5 Hosted System Virtual Machine Virtualizing software is built on top of an existing host OS Advantages installation is like installing application programs host OS provides device driver support Drawbacks less ef cient EECS 700 Virtual Machines Spring 2009 28 3 Whole System VMs Different ISA for guest and host systems both application and OS code require emulation Implemented by placing the VMM and the guest software on top of a conventional host OS running on the hardware eg Virtual PC EECS 700 Virtual Machines Spring 2009 29 3 Codesigned Virtual Machines VMs designed to enable innovative ISAs andor hardware implementations for improved performance power efficiency etc Similar hardware virtualization is common for mICroprocessors such as Pent1um IV Software VM is part of the hardware design applicationsOS never directly execute native ISA instructions e g Transmeta Crusoe processor EECS 700 Virtual Machines Spring 2009 30 VM Taxonomy Process VMs I System VMs different I different same IS same I A ISA l ISA D namic I Multiprogrammed Tra slators I CIassne SIystem WhoIeVSMystem Systems lA32EL FX32 I IBM VM370 Virtual PC for Mac l I Dynamic I I Hosted VM 39 I VMware Codesi ned Ema HLL VM I WEI Optimizers Java W I Dynamo MS CLI I Trggigeeta EECS 700 Virtual Machines Spring 2009 31