VIRTUALIZACE POČÍTAČE HISTORIE A VÝVOJ Název školy Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště Název DUMu Virtualizace počítače historie a vývoj Autor Martin Šimůnek Datum 3. 10. 2013 Stupeň atypvzdělávání Střední odborné vzdělávání Odvětví / Vzdělávací oblast -- dle RVP.cz -- Vzdělávací obor Informační technologie Tematická oblast Hardware a virtualizace Druh učebního materiálu Výukový materiál Cílová skupina Žák, 15 19 let Anotace a popis způsobu použití ve Výukový materiál určen k frontální prezentaci učitelem, případně jako materiál pro samostudium. výuce Vybavení, pomůcky - Klíčová slova Číslo projektu Název šablony CZ.1.07/1.5.00/34.0534 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT ZLÍNSKÝ KRAJ
ÚVOD V předchozích materiálech jsme se seznámili s principy virtualizace počítače. Nyní si ukážeme, jakým vývojem virtualizace prošla a kde jsou její kořeny.
ZOPAKUJTE SI CO JE VIRTUALIZACE? V čem vlastně spočívá virtualizace? Jaké činnosti musí vykonávat virtualizační nástroj? Kde je uložen stav virtuálního stroje? Jaké typy virtualizačních nástrojů znáte? Co je to hypervizor? Jaké požadavky jsou kladeny na nástroje pro serverovou nebo desktopovou virtualizaci? Odpovědi najdete v předchozích materiálech!
OD STROJOVÉHO KÓDU K VIRTUALIZACI (1) 0. a 1. generace počítačů Programátor přímo ovládá HW. Běží jen jeden proces. Programátor zapisuje strojové instrukce procesoru. Problém: při změně počítače musím programy psát znovu Operační systémy (2. a vyšší generace) Aplikační programátor má ovládání HW usnadněno tím, že OS nabízí funkce pro ovládání vstupně výstupních zařízení. Později aplikace využívá pouze API operačního systému. Výhoda: pokud mám stejný operační systém, aplikace se nemusí měnit při přechodu na nový HW. Problém: aplikace je závislá na daném operačním systému.
OD STROJOVÉHO KÓDU K VIRTUALIZACI (1 - SCHÉMA) PŘÍMÝ PŘÍSTUP APLIKACÍ K HW OPERAČNÍ SYSTÉM ODSTRANIL ZÁVISLOST APLIKACÍ NA HW
OD STROJOVÉHO KÓDU K VIRTUALIZACI (2) Virtuální paměť (3. a vyšší generace) S příchodem multitaskingu se objevuje nutnost oddělit procesy a zajistit, aby se procesy pokud možno neovlivňovaly. Výhoda: virtualizace paměti a dalších prostředků umožňuje odstranit závislost mezi procesy. Problém: pokud některý proces poškodí stabilitu celého operačního systému, vzniklé problémy stále ovlivní všechny procesy. Na více platforem! (Java, 90. léta 20. století) V 90. letech nastal významný rozmach Internetu a objevila se snaha odstranit závislost aplikace na operačním systému. Internetové aplikace měly jít spustit na všech operačních systémech. Java a Java Virtual Machine byly vlastně prvními vlaštovkami klasické virtualizace počítače. Bytecode Javy je vlastně strojový kód fiktivního virtuálního stroje. Výhoda: program v Javě může běžet na libovolném počítači. Problém: virtualizace (byť omezená na jednoduchý fiktivní HW) byla pro počítače 90. let příliš velký oříšek.
OD STROJOVÉHO KÓDU K VIRTUALIZACI (3) Opravdová virtualizace počítače (začátek 21. století) Počítače počátku 21. století už byly dost výkonné na to, aby mohly simulovat činnost skutečného počítače PC. Výhoda: na virtuálním stroji. Problém: běh virtuálního stroje je stále ještě mnohem pomalejší než běh skutečného počítače, instrukce se musí softwarově. HW podpora virtualizace a hypervizory V roce 2006 se začaly objevovat procesory, které obsahovaly instrukce pro podporu virtualizace. Instrukce virtuálního počítače se tedy mohou provádět přímo v procesoru skutečného počítače. Tím byl umožněn rozvoj hypervizorů, vlastně minimalistických operačních systémů, které umožňují pouze vytvořit a spustit virtuální počítače. Výhoda: prakticky veškerý výkon fyzického počítače je věnován pouze virtuálním strojům. Problém: tímto způsobem můžeme spouštět pouze virtuální stroje se stejnou architekturou, na které hypervizor běží.
OD STROJOVÉHO KÓDU K VIRTUALIZACI (2, 3 - SCHÉMA) VIRTUALIZACE POČÍTAČE HYPERVIZOR
VYHLEDEJTE A VYSVĚTLETE VÝZNAM SLOV Vyhledejte a vysvětlete význam zkratek, slov a spojení: Java Virtual Machine (JVM) multitasking proces HW simulace procesor instrukce procesoru architektura počítače
ÚKOLY Zkuste zodpovědět následující otázky: Co bylo primárním úkolem operačního systému v prvopočátcích? Jak souviselo zavedení multitaskingu s počátky virtualizace? Proč rozvoj Internetu podpořil rozvoj virtualizačních technik?
POUŽITÉ ZDROJE 1) X86 virtualization. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2001-2012, 19 October 2012 [cit. 2012-11-03]. Dostupné z: http://en.wikipedia.org/wiki/x86_virtualization 2) BIN UZAYR, Sufyan. Virtualisation Face-off: Qemu, VirtualBox, VMware Player and Parallels Workstation. In: Http://www.linuxforu.com/ [online]. 2012, May 23, 2012 [cit. 2012-11-03]. Dostupné z: http://www.linuxforu.com/2012/05/virtualisation-faceoff-qemu-virtualboxvmware-player-parallels-workstation/ 3) CITRIX SYSTEMS, Inc. What is Xen? [online]. c2005, c2012 [cit. 2012-11-03]. Dostupné z: http://xen.org/ 4) Hyper-V. In: Microsoft TechNet [online]. IA: Microsoft Corp, c2012 [cit. 2012-11-03]. Dostupné z: http://technet.microsoft.com/en-us/windowsserver/dd448604.aspx
KLÍČ K ŘEŠENÍ: Zkuste zodpovědět následující otázky: Co bylo primárním úkolem operačního systému v prvopočátcích? Odstranit závislost aplikace na konkrétním hardware (konkrétní grafické kartě, klávesnici, pevném disku). Jak souviselo zavedení multitaskingu s počátky virtualizace? Při běhu více procesů bylo třeba zajistit, aby se procesy navzájem neovlivňovaly. Proto byla zavedena virtualizace paměťového prostoru. Proč rozvoj Internetu podpořil rozvoj virtualizačních technik? Byla zde snaha, aby webové aplikace mohly běžet na libovolném počítači bez ohledu na architekturu a typ.