Mail  Admin  Statistika  Lab  mike  


www.psaxf.net
Linux, Unix, Open Source, Internet Security, Konzultace, Workshopy, Virtualizace, Forensic, Hacking

Popek/Goldberg - Teorémy

Připravenost počítačové infrastruktury pro virtualizaci lze posoudit podle formalních pravidel popsaných v článku "Formal Requirements for Virtualizable Third Generation Architectures". Autoři Gerald J. Popek a Robert P. Goldberg formulovali několik základních požadavků vhodných pro efektivní běh virtualizovaného přostředí. Analýza provedena v článku je považována za základní vymezení pravidel pro tvorbu a design virtualizovaných prostředí

Úvod

Virtualizace je virtualizací když dokáže poskytnout přístup k hardware ( procesor/procesory, pamět (RAM), diskovou kapacitu a další zařízení). Přidělování  skutečných zdrojů virtualním strojům řídí specializovaný software, který se nazývá Správce zdrojů (virtual machine monitor, hypervisor).

Základní vlastnosti virtualizovaného prostředí

  1. Rovnocenost/Equivalence Programy které běží ve virtualizovaném prostředí se chovají stejně jako když jsou spuštěny přímo na hardware
  2. Ovládání zdrojů/Resource control Všechny skutečné prostředky musí být řízeny Správcem zdrojů.
  3. Efektivita/Efficiency Statisticky majoritní část strojového kódu musí být provedena bez zásahu Spravce zdrojů.

Správce zdrojů - Teorém 1

Instrukční sada procesoru (Instruction Set Architecture ISA) může být rozdělena do 3 skupin.

  1. Privilegované instrukce jsou odchyceny když je CPU v "user mode" a nezachytavají se pro "system mode".
  2. Instrukce, které se snaží změnit konfiguraci zdroje.
  3. Instrukce jejiž chování nebo výsledek závisí na konfiguraci zdrojů.

Teorém 1
Správce zdrojů může být pro architekturu vytvořen v případě že instrukce skupin 2 a 3 jsou podmnožinou intrukcí skupiny 1.

Ve výsledku to znamená, že aby vše dobře fungovalo, všechny instrukce, které mohou mít vliv na fungování Správce zdrojů musí být odchyceny a obslouženy Správcem zdrojů. Neprivilegované instrukce naopak musí běžet co nejefektivněji (nativně) ve virtualizovaném prostředí, podle principu rovnocenosti.

Rekurzivní virtualizace - Teorém 2

Rekurzivní virtualizace (stav kdy Správce zdrojů běží v kopii sama sebe) je možná když je prostředí virtualizovatelné a může být pro něj bez časové závislosti vytvořen Správce zdrojů.

Kritické instrukce

Neprivilegované instrukce, ktere manipulují se zdroji se nazývají kritické. Podmínka teorému 1 je postačující nikoliv nutná. Správce zdrojů může být vytvořen i když není teorém 1 splněn. Výsledné řešení pak má nižší učinost - není důsledně dodržen princip rovnocenosti.

Dynamická rekompilace je technika, která slouží k nalezení a nahrazení (patchování) kritických instrukcí ve strojovém kódu v čase jeho spuštěni (run-time). Umožňuje virtualizaci i na architekturách které nesplňují teorém 1. Zdařilá implementace dynamické rekompilace je například v Qemu. Další podobnou technikou je paravirtualizace, kde operační systém musí být upraven (portován) před spuštením ve virtualním prostředí. Vhodným příkladem je Xen.


http://www.itangel.cz/ http://www.sily.cz/ http://www.ikonopi.cz/ http://www.totodivadlo.cz/