Virtualizace
Z MiS
- Motto
Virtuální hospoda? Konferenční hovor na Skype a basa lahváčů :-D
- Petr Juřena, bývalý žák OA
Obsah[skrýt] |
O virtualizaci obecně
Slovíčko „virtuální“ v oblasti výpočetní techniky
- programy, emulující činnost hardware
- virtualization
- simulace reálného života
- virtuální realita
- virtual world
- počítačová náhrada něčeho
- virtual community
- virtual library
- virtual conference
Virtualizace (Virtualization)
- Pojem virtualizace obecně
Odstínění programu od HW či SW, na kterých je závislý.
- Již znáte z předchozího studia
- virtuální stroj Javy
- virtualizaci paměti (OSY 3)
- virtuální CD mechanika
- Lze
- Virtualizace HW (platformy)
- SW je spouštěn v prostředí, díky kterému je nezávislý na konkrétním HW
- Touto variantou se zabýváme dále.
- Virtualizace úložného prostoru.
- Virtualizace SW
- operační systém: wine (viz dále)
- Virtual Private Network
- Application virtualization.
„Historie virtualizace“
Jak moc byl v historii SW závislý na konkrétním HW?
Virtualizace je možná i díky růstu výkonu počítačů. Viz také Mooreův zákon.
Virtualizace OS (platform virtualization)
Někdy také označováno jako virtualizace hardware.
Srovnání s podobnými přístupy
- Virtualizace HW × simulace
- Při simulaci vybíráme pouze podstatné vlastnosti simulovaného systému.
- Simulovaný HW nelze použít jako náhradu skutečného.
- Příklady simulace: Cisco Packet Tracer, simulátor automobilu v autoškole,...
- Virtualizace HW × emulace API
- Při emulaci API běží proces normálně v operačním systému.
- Emulátor API pouze přijímá systémová volání (volání API) a překládá je na volání API hostujícího systému.
- Emulaci API lze použít pouze pro programy stejné platformy, programy přímo přistupují k hostujícímu HW (nejedná se o virtualizaci v našem slova smyslu).
- Příklad emulace API: WINE,...
Přístupy ke zrychlení virtualizace
- Full virtualization (plná virtualizace)
- Veškerá činnost hardware virtuálního stroje je prováděna hypervizorem (softwarově).
- (-) Pomalé, náročné na výpočetní výkon.
- (+) Lze virtualizovat jakoukoli platformu nezávisle na platformě hostitelského počítače.
- Paravirtualization (paravirtualizace)
- Předpokládá spolupráci mezi hostitelským a virtualizovaným operačním systémem.
- Předpoklad: virtualizovaný operační systém musí umět pracovat s informací, že teď běží na virtuálním stroji.
- Spouštím běžný výpočet přímo ve (fyzickém) procesoru hostitelského počítače s tím, že pokud virtuální operační systém potřebuje pracovat s HW, tak ví, že má oslovit hypervizor.
- (-) Lze použít pouze pro operační systémy, které tento způsob virtualizace podporují (GNU/Linux).
- (-) Virtualizovaná a hostitelská platforma musí být stejné.
- (+) Většina kódu aplikace se provádí přímo v hardware.
- (+) Virtuální stroje mohou za některých okolností sdílet některé systémové knihovny apod.
- Hardware-assisted virtualization (virtualizace s podporou HW)
- Využívá rozšiřující instrukční sady moderních procesorů.
Proč virtualizovat?
- spouštění programů pro různé operační systémy na jednom počítači
- spouštění zastaralého SW
- testování konfigurace
- úspora prostředků za HW a energii
- snazší správa
- efektivnější využití výkonu
- vývoj operačních systémů
- vývoj programů, které musí fungovat na různých platformách
- Náměty k zamyšlení
- Jak může vést virtualizace k úspoře nákladů na HW???
- Veškeré běžící aplikace přece musí běžet stále! Sice nyní poběží na jednom počítači, ale ten musí být o to výkonnější!
- (A naopak dokonce část výpočetního výkonu spotřebuje správa virtuálních strojů, takže celkový nutný výpočetní výkon je dokonce vyšší!)
- A obdobně — jak může vést virtualizace k úspoře energie???
HW požadavky
- Dostatek paměti pro hostitelský OS i pro virtuální OS
- V současnosti (2010) musí být obvykle operační paměť pro virtuální stroj vyhrazena trvale v celé velikosti, bez ohledu na aktuální využití.
- Dostatek místa na pevném disku
- Virtuální pevné disky lze omezit, aby zabíraly jen tolik místa, kolik je na nich aktuálně zapsáno dat.
- Pro některé přístupy vyžadují sadu instrukcí pro HW-podporu virtualizace:
- Intel VT-x
- AMD V
- Úkol: Najděte příklad tří typů procesorů s podporou virtualizace OS.
Zdroje
- en.wikipedia.org > Virtualization
- Virtual (computing). In Wikipedia : the free encyclopedia [online]. St. Petersburg (Florida) : Wikipedia Foundation, 22 November 2009 at 20:34, last modified on 22 November 2009 at 20:34 [cit. 2010-09-18]. Dostupné z WWW: <http://en.wikipedia.org/wiki/Virtual_computing>.