1 EECS 768 Virtual Machines
System Virtual Machines
- Introduction
- Key concepts
- Resource virtualization
– processors – memory – I/O devices
- Performance issues
- Applications
System Virtual Machines Introduction Key concepts Resource - - PowerPoint PPT Presentation
System Virtual Machines Introduction Key concepts Resource virtualization processors memory I/O devices Performance issues Applications EECS 768 Virtual Machines 1 Introduction System virtual machine
1 EECS 768 Virtual Machines
2 EECS 768 Virtual Machines
3 EECS 768 Virtual Machines
L i n u x A p p l i c a t i o n L i n u x O S W i n d o w s A p p l i c a t i o n W i n d o w s O S O S / 2 A p p l i c a t i o n O S / 2 O S I n t e l x 8 6 H a r d w a r e V i r t u a l I n t e l x 8 6 V i r t u a l I n t e l x 8 6 V i r t u a l I n t e l x 8 6
4 EECS 768 Virtual Machines
5 EECS 768 Virtual Machines
6 EECS 768 Virtual Machines
7 EECS 768 Virtual Machines
P r o c e s s o r V M M M e m o r y R e g is t e r v a lu e s f o r V M 1 R e g i s t e r v a l u e s f o r V M 2 R e g i s t e r v a l u e s f o r V M 3 R e g is t e r B lo c k P o i n t e r V M M M e m o r y P r o c e s s o r P r o c e s s o r R e g is t e r s R e g is t e r v a lu e s f o r V M 1 R e g is t e r v a lu e s f o r V M 2 R e g is t e r v a lu e s f o r V M 3
8 EECS 768 Virtual Machines
9 EECS 768 Virtual Machines
V M M s a v e s a r c h i t e c t e d s t a t e
V M M r e s t o r e s a r c h i t e c t e d s t a t e f o r n e x t V M V M M s e t s P C t o t i m e r i n t e r r u p t h a n d l e r o f O S i n n e x t V M V M M s e t s t i m e r i n t e r v a l a n d e n a b l e s i n t e r r u p t s T i m e r i n t e r r u p t
V M M d e t e r m i n e s n e x t V M t o b e a c t i v a t e d V M M A c t i v e F i r s t V M A c t i v e N e x t V M A c t i v e
10 EECS 768 Virtual Machines
11 EECS 768 Virtual Machines
N o n - p r i v i l e g e d m o d e s P r i v i l e g e d M o d e A p p l i c a t i o n s O S T r a d i t i o n a l u n i p r o c e s s o r s y s t e m H a r d w a r e V i r t u a l M a c h i n e V M M H a r d w a r e V i r t u a l M a c h i n e H o s t O S H a r d w a r e V M M V i r t u a l M a c h i n e H o s t O S H a r d w a r e V M M N a t i v e V M s y s t e m U s e r - m o d e H o s t e d V M s y s t e m D u a l - m o d e H o s t e d V M s y s t e m
12 EECS 768 Virtual Machines
13 EECS 768 Virtual Machines
14 EECS 768 Virtual Machines
15 EECS 768 Virtual Machines
16 EECS 768 Virtual Machines
17 EECS 768 Virtual Machines
18 EECS 768 Virtual Machines
P r i v i l e g e d N o n - P r i v i l e g e d S e n s i t i v e B e h a v i o r - s e n s i t i v e C o n t r o l - s e n s i t i v e I n n o c u o u s S e n s i t i v e
19 EECS 768 Virtual Machines
I n s t r u c t i o n t r a p o c c u r s D i s p a t c h e r A l l o c a t o r I n t e r p r e t e r R o u t i n e 2 I n t e r p r e t e r R o u t i n e 1 I n t e r p r e t e r R o u t i n e n T h e s e i n s t r u c t i o n s d e s i r e t o c h a n g e m a c h i n e r e s o u r c e s , e . g . L o a d R e l o c a t i o n B o u n d s R e g i s t e r T h e s e i n s t r u c t i o n s d o n o t c h a n g e m a c h i n e r e s o u r c e s , b u t a c c e s s p r i v i l e g e d r e s o u r c e s , e . g . I N , O U T , W r i t e T L B
P r i v i l e g e d I n s t r u c t i o n P r i v i l e g e d I n s t r u c t i o n P r i v i l e g e d I n s t r u c t i o n P r i v i l e g e d I n s t r u c t i o n
20 EECS 768 Virtual Machines
21 EECS 768 Virtual Machines
22 EECS 768 Virtual Machines
23 EECS 768 Virtual Machines
G u e s t O S c o d e i n V M
( u s e r m o d e ) P r i v i l e g e d i n s t r u c t i o n ( L P S W ) … . . . … . . . N e x t i n s t r u c t i o n ( t a r g e t o f L P S W )
V M M c o d e
( p r i v i l e g e d m o d e ) L P S W R o u t i n e: C h a n g e m o d e t o p r i v i l e g e d C h e c k p r i v i l e g e l e v e l i n V M E m u l a t e i n s t r u c t i o n C o m p u t e t a r g e t R e s t o r e m o d e t o u s e r J u m p t o t a r g e t D i s p a t c h e r
24 EECS 768 Virtual Machines
25 EECS 768 Virtual Machines
C o n t r o l t r a n s f e r , e . g . t r a p
S c a n n e r a n d P a t c h e r V M M
C o d e P a t c h f o r d i s c o v e r e d c r i t i c a l i n s t r u c t i o n
O r i g i n a l P r o g r a m P a t c h e d P r o g r a m
26 EECS 768 Virtual Machines
27 EECS 768 Virtual Machines
28 EECS 768 Virtual Machines
29 EECS 768 Virtual Machines
30 EECS 768 Virtual Machines
31 EECS 768 Virtual Machines
32 EECS 768 Virtual Machines
33 EECS 768 Virtual Machines
34 EECS 768 Virtual Machines
35 EECS 768 Virtual Machines
36 EECS 768 Virtual Machines
37 EECS 768 Virtual Machines
38 EECS 768 Virtual Machines