Professional Documents
Culture Documents
07 Virtuelizacija
07 Virtuelizacija
i virtuelizacija
dr Mihajlo Savić
1/13
Simulatori
● Reprodukovanje ponašanja jednog uređaja na drugom
● Omogućavaju nam da u bilo kom trenutku
– zaustavimo izvršavanje,
– da izvršavamo korak po korak,
– da se vratimo unazad kroz vrijeme,
– da direktno mijenjamo interna stanja sistema na načine koji
nisu mogući u stvarnoj upotrebi.
● Tipično su kompletna okruženja koja nam omogućavaju da
simuliramo i brojne druge hardverske komponente i ispitujemo
njihovo ponašanje u okviru simuliranog sistema
2/13
Simulatori (PICSimLab)
3/13
Emulatori
● Reprodukovanje ponašanja jednog uređaja na drugom
4/13
Virtuelizacija
● Prva demonstracija – IBM CP-40 1967. -> open source CP/CMS
● Popek i Goldberg – teorijski zahtjevi za efikasnu virtuelizaciju
– Postavljeni 1974. godine
– Zasnovani na pojednostavljenom modelu, koriste se i danas
●
Ekvivalentnost
– Program koji se izvršava u okviru VM treba da se ponaša na identičan
način kao da se izvršava na stvarnoj mašini.
●
Kontrola resursa
– VMM mora u potpunosti kontrolisati sve virtuelizovane resurse.
●
Efikasnost
– Značajna većina instrukcija mora biti izvršena bez uplitanja VMM.
5/13
Virtuelizacija
● Virtuelna mašina
– izolacija aplikacije od hardvera
– stvaranje okruženja za emulaciju operativnog sistema
– efikasna, izolovana kopija realnog sistema
6/13
Procesori bazirani na x86
● Realni mod
● Zaštićeni mod
– 16-bitni (80286 – GDT, LDT)
– 32-bitni (80386 – paging, virtual memory)
● 64-bitni mod (IA64, AMD64, EM64T)
● Virtuelizacija (problematična, nepotpuna)
– 64bit – Intel VT, AMD Pacifica – potpuna VT
● Periferije uvijek problem
– Prekidi, IOMMU, SR-IOV, GPU
7/13
Procesorski prstenovi
● RING 0 – kernel
● RING 1,2 – drajveri (teoretski)
● RING 3 – korisnički programi
8/13
Virtuelizacija - hardver
● VM Monitor (VMM) direktno pristupa hardveru
– Drajveri za sve moguće periferije
– Veća kontrola proizvođača VMM-a => veći kvalitet
– I troškovi su veći, manje tržište, strožija kontrola
9/13
Vrste VMM
●
Stand-alone VMM
– Izvršava se “ispod” svih operativnih sistema
– Direktan pristup hardveru
– Tipično serverski pristup
– Primjeri: VMWare ESX, XenServer, ...
●
Hosted VMM
– Koristi usluge osnovnog OS
– Desktop rješenje
– Jedino dostupno na x86 (bez VT)
– VMWare Workstation/Player, VirtualBox
10/13
Virtuelizacija i memorija
● Virtuelizacija memorije od 80386 nadalje
– Problem sa performansama
11/13
Virtuelizacija i periferije
● Pristup I/O uređajima je osjetljiv (privilegovan)
– Dinamičko kompajliranje
● Prebacivanje iz emuliranog svijeta u stvarni OS stvara gubitke
performansi
– A dešava se jako često
● Operacije niskog nivoa se pretvaraju u operacije višeg nivoa
– Direktan pristup hard disku se prevodi u običan read()
– Koji se opet realizuje i na stvarnom hard disku
● Upotreba paravirtuelizovanih drajvera poboljšava performanse
– Drajveri koji su "svjesni" da ne rade sa stvarnim periferijama
12/13
Hvala na pažnji
PITANJA?
13/13