Wirtualizacja wspomagana sprz towo

Podobne dokumenty
Czym jest wirtualizacja

Wirtualizacja. Systemy operacyjne 9 listopada Aleksander Jankowski Paweł Matysiak Aleksandra Murawska

Wirtualizacja Systemy operacyjne

Wirtualizacja. Paweł Mantur Artur Mączka Tomasz Niedabylski

Wirtualizacja. wspomagana sprzętowo - zalety, wady, zagrożenia. Szymon Doroz & Bartosz Janiak & Przemysław Zych

WIRTUALIZACJA teoria i praktyka. Oskar Skibski, Piotr Sikora, Mateusz Kruszyński

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Systemy Operacyjne Wirtualizacja

Podstawy Informatyki i Technologii Informacyjnej

Wirtualizacja wspomagana sprzętowo - zalety, wady i zagrożenia

Monitor maszyn wirtualnych

Przegląd dostępnych hypervisorów. Jakub Wojtasz IT Solutions Architect

3 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.06 Rok akad. 2011/ / 22

Linux -- u mnie działa!

Podstawy modelowania w j zyku UML

Tablice stron, bezpośredni dostęp do urządzeń z maszyny wirtualnej i IOMMU.

Wirtualizacja. czyli trochę co innego niż rzeczy do tej pory omawiane

Wirtualizacja wspomagana sprzętowo

Android. Podstawy tworzenia aplikacji. Piotr Fulma«ski. March 4, 2015

Wirtualizacja. Metody, zastosowania, przykłady

Rzut oka na zagadnienia zwi zane z projektowaniem list rozkazów

PLD Linux Day. Maciej Kalkowski. 11 marca Wydziaª Matematyki i Informatyki UAM

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Budowa systemów komputerowych

WIRTUALIZACJA. Kamil Frydel, Julia Romanowska, Maciej Sokołowski. 12 listopada 2007 WIRTUALIZACJA. Kamil Frydel, Julia Romanowska, Maciej Sokołowski

Linux VServer - wirtualizacja przez separacj

Sieci komputerowe cel

Wprowadzenie do wirtualizacji

Relacj binarn okre±lon w zbiorze X nazywamy podzbiór ϱ X X.

Konwersja maszyny fizycznej na wirtualną.

i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski 5 kwietnia 2017

Wirtualizacją nazywamy użycie oprogramowania w celu stworzenia abstrakcji (iluzji) posiadanych zasobów.

Q E M U.

Zaawansowane systemy operacyjne. Wirtualizacja. Janina Mincer-Daszkiewicz.

YapS Plan testów. Šukasz Bieniasz-Krzywiec Dariusz Leniowski Jakub Š cki 29 maja 2007

Mateusz Rzeszutek. 19 kwiecie«2012. Sie VLAN nie zmienia nic w kwestii domen kolizyjnych. przynale»no± w oparciu o numer portu

Podstawy modelowania w j zyku UML

Architektura komputerów

Linux KVM - wparcie dla wirtualizacji w kontekście serwerów ARM

Wirtualizacja. Przegla d wybranych technik. Magda Michalska Krzysztof Kulewski Andrzej Pacuk. Systemy operacyjne 2006

Wirtualizacja. Co to właściwie jest? Jak działa? W jaki sposób jej używać? Systemy operacyjne 2007/08

J zyk C dla sterowników programowalnych GeFanuc

QEMU działa na procesorach procesorach: emuluje procesory: dostępne dla s.o. hosta:

Praca Dyplomowa Magisterska

Projekt konceptualny z Baz Danych "Centralny system zarz dzania salami na AGH"

MiASI. Modelowanie systemów informatycznych. Piotr Fulma«ski. 18 stycznia Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

Subversion - jak dziaªa

Listy i operacje pytania

Wzorce projektowe kreacyjne

Programowanie wspóªbie»ne

Wirtualizacja. Piotr Sikora Tomasz Ziółkowski

U M L. System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux)

Zarządzanie zasobami pamięci

Rozwiązywanie nazw w sieci. Identyfikowanie komputerów w sieci

Warstwy systemu Windows 2000

Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX

System kontroli wersji SVN

Numer albumu: Imi i nazwisko:...

Konfiguracja historii plików

Systemy wbudowane Mikrokontrolery

Architektura chmur i wirtualizacja. Wykład 4 Wirtualizacja

Lab. 02: Algorytm Schrage

Podziaª pracy. Cz ± II. 1 Tablica sortuj ca. Rozwi zanie

Wzorce projektowe strukturalne cz. 1

VMware, QEMU, UML. oraz inne wirtualne maszyny. Piotr Findeisen Filip Grządkowski Piotr Kuśka Krzysztof Mroczek

CyberGuru Wirtualizacja na platformie Hyper-V w pigułce. Prezentuje: Kamil Frankowicz

Filozoa Clojure. Mateusz Dereniowski. 15 lipca Instytut Informatyki Uniwersytetu Wrocªawskiego

Wykład 2. Budowa komputera. W teorii i w praktyce

JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1

Wirtualizacja jako środek zmniejszenia kosztów działalności przedsiębiorstwa w czasach kryzysu

Edyta Juszczyk. Akademia im. Jana Dªugosza w Cz stochowie. Lekcja 1Wst p

Analiza wydajno±ci serwera openldap

Chess. Joanna Iwaniuk. 9 marca 2010

Zobacz to na własne oczy. Przyszłość już tu jest dzięki rozwiązaniu Cisco TelePresence.

Ukªady Kombinacyjne - cz ± I

Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX

1 Rodzaje pami ci. 2 Hierarchia pami ci. 3 Lokalno± odwoªa« 4 Pami podr czna

Rozwi zania klasycznych problemów w Rendezvous

System komputerowy - hardware (schemat uproszczony) System operacyjny. Składniki systemu. Struktury systemów operacyjnych

MiASI. Modelowanie analityczne. Piotr Fulma«ski. 18 stycznia Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych ul. Koszykowa 75, Warszawa

Wybrane zagadnienia elektroniki współczesnej

Zarządzanie pamięcią operacyjną

Projektowanie sieci komputerowych.

1. Warunek ka»dy proces w ko«cu wejdzie do sekcji krytycznej jest

Regulamin Usªugi VPS

Schematy zarzadzania pamięcia

Elementy składowe komputera. Płyta główna

Załącznik nr 6 Uszczegółowienie przedmiotu zamówienia 214/IH/PN/13/2014. Pakiet 1 (Gdańsk) Tabela 1. Komputer przenośny.

W dobie postępującej digitalizacji zasobów oraz zwiększającej się liczby dostawców i wydawców

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy

Prezentacja emulatora QEMU Zajęcia SO

Pytanie i odpowiedzi do przetargu ROZBUDOWĘ SYSTEMU IT - SERWER EDI

KLASYCZNE ZDANIA KATEGORYCZNE. ogólne - orzekaj co± o wszystkich desygnatach podmiotu szczegóªowe - orzekaj co± o niektórych desygnatach podmiotu

Wprowadzenie do wirtualizacji

RHEL 5 wpływ wirtualizacji na koszty

WIRTUALIZACJA SERWERÓW I STACJI ROBOCZYCH- NA PRZYKŁADZIE WYBRANEGO OPROGRAMOWA- NIA WIRTUALNE ŚRODOWISKO LABORATORYJNE DLA STUDENTÓW

Segmenty rynku sterowników. Segmenty rynku sterowników. Segmenty rynku sterowników. Typy budowy sterowników. Typy budowy sterowników

Sieć komputerowa grupa komputerów lub innych urządzeo połączonych ze sobą w celu wymiany danych lub współdzielenia różnych zasobów, na przykład:

Transkrypt:

Wirtualizacja wspomagana sprz towo zalety, wady i zagro»enia Bartosz G za Tomasz Rogozik Bartosz Szreder 19 listopada 2009 B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 1 / 48

1 Wirtualizacja bez wspomagania sprz towego Wprowadzenie do wirtualizacji Zasada dziaªania peªnej wirtualizacji Problemy i sposoby radzenia sobie z nimi Przyczyny problemów z wydajno±ci 2 Pierwsze podej±cie do wirtualizacji wspomaganej sprz towo Ring 1 AMD-V Intel-VT 3 Wirtualizacja MMU Shadow page tables Nested page tables 4 Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej IOMMU 5 Wirtualizacja sprz towa w XEN i KVM Co daje sprz t? Sprz towa wirtualizacja w Xen i KVM 6 Problemy zwi zane z wirtualizacj Ogólne problemy wirtualizacji Matrix jak»ywy B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 2 / 48

Wirtualizacja bez wspomagania sprz towego Wprowadzenie do wirtualizacji B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 3 / 48 Co to jest wirtualizacja? Wirtualizacja to tworzenie abstrakcji zasobów w ró»nych aspektach komputeryzacji. W kontek±cie systemów operacyjnych, jest to umo»liwienie:

Wirtualizacja bez wspomagania sprz towego Wprowadzenie do wirtualizacji B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 3 / 48 Co to jest wirtualizacja? Wirtualizacja to tworzenie abstrakcji zasobów w ró»nych aspektach komputeryzacji. W kontek±cie systemów operacyjnych, jest to umo»liwienie: pracy na wielu systemach operacyjnych jednocze±nie

Wirtualizacja bez wspomagania sprz towego Wprowadzenie do wirtualizacji B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 3 / 48 Co to jest wirtualizacja? Wirtualizacja to tworzenie abstrakcji zasobów w ró»nych aspektach komputeryzacji. W kontek±cie systemów operacyjnych, jest to umo»liwienie: pracy na wielu systemach operacyjnych jednocze±nie efektywnego wykorzystania sprz tu

Wirtualizacja bez wspomagania sprz towego Wprowadzenie do wirtualizacji B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 3 / 48 Co to jest wirtualizacja? Wirtualizacja to tworzenie abstrakcji zasobów w ró»nych aspektach komputeryzacji. W kontek±cie systemów operacyjnych, jest to umo»liwienie: pracy na wielu systemach operacyjnych jednocze±nie efektywnego wykorzystania sprz tu jednoczesnego u»ywania aplikacji stworzonych dla ró»nych systemów operacyjnych

Wirtualizacja bez wspomagania sprz towego Wprowadzenie do wirtualizacji B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 4 / 48 Rodzaje wirtualizacji Emulacja Emulacja API Peªna wirtualizacja

Wirtualizacja bez wspomagania sprz towego Wprowadzenie do wirtualizacji B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 5 / 48 Rodzaje wirtualizacji - emulacja Emulacja pozwala na uruchamianie aplikacji pochodz cych z niekompatybilnego komputera (w stosunku do wykorzystywanego).

Wirtualizacja bez wspomagania sprz towego Wprowadzenie do wirtualizacji B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 5 / 48 Rodzaje wirtualizacji - emulacja Emulacja pozwala na uruchamianie aplikacji pochodz cych z niekompatybilnego komputera (w stosunku do wykorzystywanego). emulacja podstawowych podzespoªów komputera (CPU, RAM, HDD, CD itp.)

Wirtualizacja bez wspomagania sprz towego Wprowadzenie do wirtualizacji B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 5 / 48 Rodzaje wirtualizacji - emulacja Emulacja pozwala na uruchamianie aplikacji pochodz cych z niekompatybilnego komputera (w stosunku do wykorzystywanego). emulacja podstawowych podzespoªów komputera (CPU, RAM, HDD, CD itp.) emulacja systemu operacyjnego

Wirtualizacja bez wspomagania sprz towego Wprowadzenie do wirtualizacji B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 5 / 48 Rodzaje wirtualizacji - emulacja Emulacja pozwala na uruchamianie aplikacji pochodz cych z niekompatybilnego komputera (w stosunku do wykorzystywanego). emulacja podstawowych podzespoªów komputera (CPU, RAM, HDD, CD itp.) emulacja systemu operacyjnego prawie ka»da operacja na wirtualnym systemie jest emulowana -> spadek wydajno±ci

Wirtualizacja bez wspomagania sprz towego Wprowadzenie do wirtualizacji B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 5 / 48 Rodzaje wirtualizacji - emulacja Emulacja pozwala na uruchamianie aplikacji pochodz cych z niekompatybilnego komputera (w stosunku do wykorzystywanego). emulacja podstawowych podzespoªów komputera (CPU, RAM, HDD, CD itp.) emulacja systemu operacyjnego prawie ka»da operacja na wirtualnym systemie jest emulowana -> spadek wydajno±ci Emulator peªny wirtualny odpowiednik caªego komputera

Wirtualizacja bez wspomagania sprz towego Wprowadzenie do wirtualizacji B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 5 / 48 Rodzaje wirtualizacji - emulacja Emulacja pozwala na uruchamianie aplikacji pochodz cych z niekompatybilnego komputera (w stosunku do wykorzystywanego). emulacja podstawowych podzespoªów komputera (CPU, RAM, HDD, CD itp.) emulacja systemu operacyjnego prawie ka»da operacja na wirtualnym systemie jest emulowana -> spadek wydajno±ci Emulator peªny wirtualny odpowiednik caªego komputera wykonuje w p tli to, co robiªby rzeczywisty procesor maszyny emulowanej

Wirtualizacja bez wspomagania sprz towego Wprowadzenie do wirtualizacji B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 6 / 48 Rodzaje wirtualizacji - emulacja API Emulacja API wykorzystuje sposób dziaªania aplikacji jako rozdzielnych procesów w stosunku do systemu operacyjnego.

Wirtualizacja bez wspomagania sprz towego Wprowadzenie do wirtualizacji B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 6 / 48 Rodzaje wirtualizacji - emulacja API Emulacja API wykorzystuje sposób dziaªania aplikacji jako rozdzielnych procesów w stosunku do systemu operacyjnego. wykorzystanie interfejsu API do komunikacji z systemem operacyjnym

Wirtualizacja bez wspomagania sprz towego Wprowadzenie do wirtualizacji B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 6 / 48 Rodzaje wirtualizacji - emulacja API Emulacja API wykorzystuje sposób dziaªania aplikacji jako rozdzielnych procesów w stosunku do systemu operacyjnego. wykorzystanie interfejsu API do komunikacji z systemem operacyjnym wprowadzenie do SO otoczenia API pochodz cego z innego systemu

Wirtualizacja bez wspomagania sprz towego Wprowadzenie do wirtualizacji B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 6 / 48 Rodzaje wirtualizacji - emulacja API Emulacja API wykorzystuje sposób dziaªania aplikacji jako rozdzielnych procesów w stosunku do systemu operacyjnego. wykorzystanie interfejsu API do komunikacji z systemem operacyjnym wprowadzenie do SO otoczenia API pochodz cego z innego systemu eliminuje konieczno± posiadania caªego systemu operacyjnego, pod którym dziaªa aplikacja

Wirtualizacja bez wspomagania sprz towego Wprowadzenie do wirtualizacji B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 7 / 48 Rodzaje wirtualizacji - peªna wirtualizacja Peªna wirtualizacja pozwala jednocze±nie uruchomi wiele systemów operacyjnych na tej samej platformie sprz towej i systemowej przy maksymalnej mo»liwej wydajno±ci

Wirtualizacja bez wspomagania sprz towego Wprowadzenie do wirtualizacji B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 7 / 48 Rodzaje wirtualizacji - peªna wirtualizacja Peªna wirtualizacja pozwala jednocze±nie uruchomi wiele systemów operacyjnych na tej samej platformie sprz towej i systemowej przy maksymalnej mo»liwej wydajno±ci jest poª czeniem podstawowych zalet emulacji peªnej oraz emulacji API

Wirtualizacja bez wspomagania sprz towego Wprowadzenie do wirtualizacji B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 7 / 48 Rodzaje wirtualizacji - peªna wirtualizacja Peªna wirtualizacja pozwala jednocze±nie uruchomi wiele systemów operacyjnych na tej samej platformie sprz towej i systemowej przy maksymalnej mo»liwej wydajno±ci jest poª czeniem podstawowych zalet emulacji peªnej oraz emulacji API uruchamia w maszynie wirtualnej system operacyjny

Wirtualizacja bez wspomagania sprz towego Wprowadzenie do wirtualizacji B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 7 / 48 Rodzaje wirtualizacji - peªna wirtualizacja Peªna wirtualizacja pozwala jednocze±nie uruchomi wiele systemów operacyjnych na tej samej platformie sprz towej i systemowej przy maksymalnej mo»liwej wydajno±ci jest poª czeniem podstawowych zalet emulacji peªnej oraz emulacji API uruchamia w maszynie wirtualnej system operacyjny rezygnuje z uniwersalno±ci emulowania wielu architektur komputerów

Wirtualizacja bez wspomagania sprz towego Wprowadzenie do wirtualizacji B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 7 / 48 Rodzaje wirtualizacji - peªna wirtualizacja Peªna wirtualizacja pozwala jednocze±nie uruchomi wiele systemów operacyjnych na tej samej platformie sprz towej i systemowej przy maksymalnej mo»liwej wydajno±ci jest poª czeniem podstawowych zalet emulacji peªnej oraz emulacji API uruchamia w maszynie wirtualnej system operacyjny rezygnuje z uniwersalno±ci emulowania wielu architektur komputerów teoretycznie wirtualizator powinien wykona bez emulacji wszystkie operacje w trybie nieuprzywilejowanym

Wirtualizacja bez wspomagania sprz towego Wprowadzenie do wirtualizacji B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 7 / 48 Rodzaje wirtualizacji - peªna wirtualizacja Peªna wirtualizacja pozwala jednocze±nie uruchomi wiele systemów operacyjnych na tej samej platformie sprz towej i systemowej przy maksymalnej mo»liwej wydajno±ci jest poª czeniem podstawowych zalet emulacji peªnej oraz emulacji API uruchamia w maszynie wirtualnej system operacyjny rezygnuje z uniwersalno±ci emulowania wielu architektur komputerów teoretycznie wirtualizator powinien wykona bez emulacji wszystkie operacje w trybie nieuprzywilejowanym wymaga to jednak specjalnej konstrukcji architektury (niestety nie speªnia jej x86)

Wirtualizacja bez wspomagania sprz towego Zasada dziaªania peªnej wirtualizacji B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 8 / 48 Jak dziaªa peªna wirtualizacja? VMM Virtual Machine Monitor (Hypervisor) arbiter dost pu do wszelkich zasobów takich jak I/O, CPU, RAM

Wirtualizacja bez wspomagania sprz towego Zasada dziaªania peªnej wirtualizacji B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 8 / 48 Jak dziaªa peªna wirtualizacja? VMM Virtual Machine Monitor (Hypervisor) arbiter dost pu do wszelkich zasobów takich jak I/O, CPU, RAM umo»liwia wykonywanie pewnej ilo±ci procesów systemu operacyjnego go±cia bezpo±rednio na zasobach sprz towych komputera

Wirtualizacja bez wspomagania sprz towego Zasada dziaªania peªnej wirtualizacji B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 8 / 48 Jak dziaªa peªna wirtualizacja? VMM Virtual Machine Monitor (Hypervisor) arbiter dost pu do wszelkich zasobów takich jak I/O, CPU, RAM umo»liwia wykonywanie pewnej ilo±ci procesów systemu operacyjnego go±cia bezpo±rednio na zasobach sprz towych komputera gdy operacje nie dadz si bezpo±rednio wykona, wirtualizator emuluje je

Wirtualizacja bez wspomagania sprz towego Zasada dziaªania peªnej wirtualizacji B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 8 / 48 Jak dziaªa peªna wirtualizacja? VMM Virtual Machine Monitor (Hypervisor) arbiter dost pu do wszelkich zasobów takich jak I/O, CPU, RAM umo»liwia wykonywanie pewnej ilo±ci procesów systemu operacyjnego go±cia bezpo±rednio na zasobach sprz towych komputera gdy operacje nie dadz si bezpo±rednio wykona, wirtualizator emuluje je Tryby maszyny wirtualnej Type 1 - native na czystym sprz cie, VMM przypomina SO (blisko sprz tu)

Wirtualizacja bez wspomagania sprz towego Zasada dziaªania peªnej wirtualizacji B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 8 / 48 Jak dziaªa peªna wirtualizacja? VMM Virtual Machine Monitor (Hypervisor) arbiter dost pu do wszelkich zasobów takich jak I/O, CPU, RAM umo»liwia wykonywanie pewnej ilo±ci procesów systemu operacyjnego go±cia bezpo±rednio na zasobach sprz towych komputera gdy operacje nie dadz si bezpo±rednio wykona, wirtualizator emuluje je Tryby maszyny wirtualnej Type 1 - native na czystym sprz cie, VMM przypomina SO (blisko sprz tu) Type 2 - hosted jako aplikacja systemu operacyjnego, VMM prostszy, emulacja kosztowniejsza

Wirtualizacja bez wspomagania sprz towego Problemy i sposoby radzenia sobie z nimi B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 9 / 48 Poziomy uprawnie«(protection rings) Pier±cienie ochrony dwa lub wi cej poziomów uprawnie«w architekturze komputera

Wirtualizacja bez wspomagania sprz towego Problemy i sposoby radzenia sobie z nimi B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 9 / 48 Poziomy uprawnie«(protection rings) Pier±cienie ochrony dwa lub wi cej poziomów uprawnie«w architekturze komputera zazwyczaj s wymuszane przez niektóre architektury by zapewni ró»ne tryby CPU na poziomie rmware'u.

Wirtualizacja bez wspomagania sprz towego Problemy i sposoby radzenia sobie z nimi B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 9 / 48 Poziomy uprawnie«(protection rings) Pier±cienie ochrony dwa lub wi cej poziomów uprawnie«w architekturze komputera zazwyczaj s wymuszane przez niektóre architektury by zapewni ró»ne tryby CPU na poziomie rmware'u. uporz dkowane s od najbardziej zaufanych (0) do najmniej uprzywilejowanych (tutaj 3)

Wirtualizacja bez wspomagania sprz towego Problemy i sposoby radzenia sobie z nimi B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 9 / 48 Poziomy uprawnie«(protection rings) Pier±cienie ochrony dwa lub wi cej poziomów uprawnie«w architekturze komputera zazwyczaj s wymuszane przez niektóre architektury by zapewni ró»ne tryby CPU na poziomie rmware'u. uporz dkowane s od najbardziej zaufanych (0) do najmniej uprzywilejowanych (tutaj 3) im ni»szy numer tym bli»ej sprz tu

Wirtualizacja bez wspomagania sprz towego Problemy i sposoby radzenia sobie z nimi B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 9 / 48 Poziomy uprawnie«(protection rings) Pier±cienie ochrony dwa lub wi cej poziomów uprawnie«w architekturze komputera zazwyczaj s wymuszane przez niektóre architektury by zapewni ró»ne tryby CPU na poziomie rmware'u. uporz dkowane s od najbardziej zaufanych (0) do najmniej uprzywilejowanych (tutaj 3) im ni»szy numer tym bli»ej sprz tu bramy pomi dzy pier±cieniami pozwalaj zewn trznemu pier±cieniowi na korzystanie z zasobów pier±cienia wewn trznego

Wirtualizacja bez wspomagania sprz towego Problemy i sposoby radzenia sobie z nimi Poziomy uprawnie«(protection rings) Problem SO pracuje w Ring 0. Dwa systemy nie mog pracowa w Ring 0, jeden z nich musi dziaªa jak aplikacja (Ring 3) B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 9 / 48

Wirtualizacja bez wspomagania sprz towego Problemy i sposoby radzenia sobie z nimi Poziomy uprawnie«(protection rings) Problem SO pracuje w Ring 0. Dwa systemy nie mog pracowa w Ring 0, jeden z nich musi dziaªa jak aplikacja (Ring 3) SO» daj c dost pu na wy»szym poziomie powoduje wyst pienie wyj tku, który mo»e by obsªu»ony przez VMM (emulacja instrukcji na odpowiednim poziomie) B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 9 / 48

Wirtualizacja bez wspomagania sprz towego Problemy i sposoby radzenia sobie z nimi Poziomy uprawnie«(protection rings) Problem SO pracuje w Ring 0. Dwa systemy nie mog pracowa w Ring 0, jeden z nich musi dziaªa jak aplikacja (Ring 3) SO» daj c dost pu na wy»szym poziomie powoduje wyst pienie wyj tku, który mo»e by obsªu»ony przez VMM (emulacja instrukcji na odpowiednim poziomie) Nie zawsze generowany jest wyj tek - odczyt z niektórych rejestrów nie jest uprzywilejowany podczas gdy zapis jest! B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 9 / 48

Wirtualizacja bez wspomagania sprz towego Problemy i sposoby radzenia sobie z nimi B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 10 / 48 Podziaª instrukcji Instrukcje dost pne na danej architekturze dzielimy na uprzywilejowane których efektem jest przerwanie lub wywoªanie systemowe w trybie u»ytkownika lub ich brak w trybie j dra

Wirtualizacja bez wspomagania sprz towego Problemy i sposoby radzenia sobie z nimi B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 10 / 48 Podziaª instrukcji Instrukcje dost pne na danej architekturze dzielimy na uprzywilejowane których efektem jest przerwanie lub wywoªanie systemowe w trybie u»ytkownika lub ich brak w trybie j dra wra»liwe ze wzgl du na kontrol w trakcie ich wykonywania mo»e zosta zmieniona konguracja zasobów systemowych

Wirtualizacja bez wspomagania sprz towego Problemy i sposoby radzenia sobie z nimi B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 10 / 48 Podziaª instrukcji Instrukcje dost pne na danej architekturze dzielimy na uprzywilejowane których efektem jest przerwanie lub wywoªanie systemowe w trybie u»ytkownika lub ich brak w trybie j dra wra»liwe ze wzgl du na kontrol w trakcie ich wykonywania mo»e zosta zmieniona konguracja zasobów systemowych wra»liwe ze wzgl du na wykonanie ich dziaªanie jest zale»ne od konguracji systemu

Wirtualizacja bez wspomagania sprz towego Problemy i sposoby radzenia sobie z nimi B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 10 / 48 Podziaª instrukcji Instrukcje dost pne na danej architekturze dzielimy na uprzywilejowane których efektem jest przerwanie lub wywoªanie systemowe w trybie u»ytkownika lub ich brak w trybie j dra wra»liwe ze wzgl du na kontrol w trakcie ich wykonywania mo»e zosta zmieniona konguracja zasobów systemowych wra»liwe ze wzgl du na wykonanie ich dziaªanie jest zale»ne od konguracji systemu Uwaga Te wydzielone podzbiory instrukcji nie s ani rozª czne, ani nie sumuj si do zbioru wszystkich instrukcji architektury.

Wirtualizacja bez wspomagania sprz towego Problemy i sposoby radzenia sobie z nimi B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 11 / 48 Twierdzenie Popka-Goldberga Dla ka»dego standardowego komputera trzeciej generacji wirtualna maszyna mo»e zosta skonstruowana, je±li zbiór instrukcji wra»liwych jest podzbiorem zbioru instrukcji uprzywilejowanych.

Wirtualizacja bez wspomagania sprz towego Problemy i sposoby radzenia sobie z nimi B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 11 / 48 Twierdzenie Popka-Goldberga Dla ka»dego standardowego komputera trzeciej generacji wirtualna maszyna mo»e zosta skonstruowana, je±li zbiór instrukcji wra»liwych jest podzbiorem zbioru instrukcji uprzywilejowanych. Wnioski ka»da operacja mog ca powodowa niepo» dane dziaªanie maszyny wirtualnej powoduje przerwanie lub wywoªanie systemowe

Wirtualizacja bez wspomagania sprz towego Problemy i sposoby radzenia sobie z nimi Twierdzenie Popka-Goldberga Dla ka»dego standardowego komputera trzeciej generacji wirtualna maszyna mo»e zosta skonstruowana, je±li zbiór instrukcji wra»liwych jest podzbiorem zbioru instrukcji uprzywilejowanych. Wnioski ka»da operacja mog ca powodowa niepo» dane dziaªanie maszyny wirtualnej powoduje przerwanie lub wywoªanie systemowe VMM mo»e przechwyci takie przerwania lub wywoªania B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 11 / 48

Wirtualizacja bez wspomagania sprz towego Problemy i sposoby radzenia sobie z nimi Twierdzenie Popka-Goldberga Dla ka»dego standardowego komputera trzeciej generacji wirtualna maszyna mo»e zosta skonstruowana, je±li zbiór instrukcji wra»liwych jest podzbiorem zbioru instrukcji uprzywilejowanych. Wnioski ka»da operacja mog ca powodowa niepo» dane dziaªanie maszyny wirtualnej powoduje przerwanie lub wywoªanie systemowe VMM mo»e przechwyci takie przerwania lub wywoªania reszta instrukcji nieuprzywilejowanych jest przekazywana do zycznego sprz tu B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 11 / 48

Wirtualizacja bez wspomagania sprz towego Problemy i sposoby radzenia sobie z nimi Twierdzenie Popka-Goldberga Dla ka»dego standardowego komputera trzeciej generacji wirtualna maszyna mo»e zosta skonstruowana, je±li zbiór instrukcji wra»liwych jest podzbiorem zbioru instrukcji uprzywilejowanych. Wnioski ka»da operacja mog ca powodowa niepo» dane dziaªanie maszyny wirtualnej powoduje przerwanie lub wywoªanie systemowe VMM mo»e przechwyci takie przerwania lub wywoªania reszta instrukcji nieuprzywilejowanych jest przekazywana do zycznego sprz tu Mo»na jednak zbudowa maszyn wirtualizuj c architektur, która nie speªnia zaªo»e«twierdzenia Popka-Goldberga, godz c si na zmniejszon wydajno± lub inne ograniczenia. B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 11 / 48

Wirtualizacja bez wspomagania sprz towego Problemy i sposoby radzenia sobie z nimi Twierdzenie Popka-Goldberga Dla ka»dego standardowego komputera trzeciej generacji wirtualna maszyna mo»e zosta skonstruowana, je±li zbiór instrukcji wra»liwych jest podzbiorem zbioru instrukcji uprzywilejowanych. Wnioski ka»da operacja mog ca powodowa niepo» dane dziaªanie maszyny wirtualnej powoduje przerwanie lub wywoªanie systemowe VMM mo»e przechwyci takie przerwania lub wywoªania reszta instrukcji nieuprzywilejowanych jest przekazywana do zycznego sprz tu W x86 instrukcje wra»liwe nie s podzbiorem instrukcji uprzywilejowanych SGDT, SIDT, SLDT, SMSW, PUSHF, POPF, PUSHFD, POPFD, LAR, LSL, VERR, VERW, POP, PUSH, CALL, JMP, INT, RET, IRET, IRETD, STR, MOVE B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 11 / 48

Wirtualizacja bez wspomagania sprz towego Problemy i sposoby radzenia sobie z nimi B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 12 / 48 Rozwi zania Parawirtualizacja ingerencja w kod SO by stworzy interfejs ªatwiejszy do wirtualizacji wydajne, ale nie zawsze mo»liwe (licencja) przykªad: XEN

Wirtualizacja bez wspomagania sprz towego Problemy i sposoby radzenia sobie z nimi B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 12 / 48 Rozwi zania Parawirtualizacja ingerencja w kod SO by stworzy interfejs ªatwiejszy do wirtualizacji wydajne, ale nie zawsze mo»liwe (licencja) przykªad: XEN Zmiana binariów (dynamiczna rekompilacja) wra»liwe operacje s przeksztaªcane w czasie wykonania wiemy, w którym miejscu kodu rozpoczyna wykonanie, mo»emy znale¹ najbli»sze miejsce rozgaª zienia lub instrukcji niebezbpiecznej i zaªo»y na nim puªapk (breakpoint) uzyskujemy wyj tki wykonania - VMM mo»e je przechwyci przykªad: VMWare, VirtualPC

Wirtualizacja bez wspomagania sprz towego Problemy i sposoby radzenia sobie z nimi B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 13 / 48 Inne problemy goszcz cy SO chce mie dost p do caªej pami ci mu przydzielonej - musi ona by dzielona z VMM w celu komunikacji go± (system wirtualizowany) nie ma dost pu do wa»nych cz ±ci pami ci zycznej, takich jak te u»ywane przez urz dzenia wej±cia/wyj±cia

Wirtualizacja bez wspomagania sprz towego Problemy i sposoby radzenia sobie z nimi B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 13 / 48 Inne problemy goszcz cy SO chce mie dost p do caªej pami ci mu przydzielonej - musi ona by dzielona z VMM w celu komunikacji go± (system wirtualizowany) nie ma dost pu do wa»nych cz ±ci pami ci zycznej, takich jak te u»ywane przez urz dzenia wej±cia/wyj±cia Wniosek VMM musi zarz dza równie» dost pem do pami ci - spadek wydajno±ci

Wirtualizacja bez wspomagania sprz towego Przyczyny problemów z wydajno±ci B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 14 / 48 Problemy z wydajno±ci procesor posiada sprz towe wspomaganie przeª czania kontekstu pomi dzy systemem operacyjnym a innymi aplikacjami dzieki instrukcjom takim jak SYSENTER czy SYSEXIT

Wirtualizacja bez wspomagania sprz towego Przyczyny problemów z wydajno±ci B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 14 / 48 Problemy z wydajno±ci procesor posiada sprz towe wspomaganie przeª czania kontekstu pomi dzy systemem operacyjnym a innymi aplikacjami dzieki instrukcjom takim jak SYSENTER czy SYSEXIT w momencie gdy trzeba je emulowa, wydajno± wirtualizowanego systemu drastycznie spada

Wirtualizacja bez wspomagania sprz towego Przyczyny problemów z wydajno±ci B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 14 / 48 Problemy z wydajno±ci procesor posiada sprz towe wspomaganie przeª czania kontekstu pomi dzy systemem operacyjnym a innymi aplikacjami dzieki instrukcjom takim jak SYSENTER czy SYSEXIT w momencie gdy trzeba je emulowa, wydajno± wirtualizowanego systemu drastycznie spada dost p do cz ±ci zasobów jest po±redni

Wirtualizacja bez wspomagania sprz towego Przyczyny problemów z wydajno±ci B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 14 / 48 Problemy z wydajno±ci procesor posiada sprz towe wspomaganie przeª czania kontekstu pomi dzy systemem operacyjnym a innymi aplikacjami dzieki instrukcjom takim jak SYSENTER czy SYSEXIT w momencie gdy trzeba je emulowa, wydajno± wirtualizowanego systemu drastycznie spada dost p do cz ±ci zasobów jest po±redni wydªu»enie czasu dost pu

Wirtualizacja bez wspomagania sprz towego Przyczyny problemów z wydajno±ci B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 14 / 48 Problemy z wydajno±ci procesor posiada sprz towe wspomaganie przeª czania kontekstu pomi dzy systemem operacyjnym a innymi aplikacjami dzieki instrukcjom takim jak SYSENTER czy SYSEXIT w momencie gdy trzeba je emulowa, wydajno± wirtualizowanego systemu drastycznie spada dost p do cz ±ci zasobów jest po±redni wydªu»enie czasu dost pu VMM dziaªaj ce w trybie hosted jest jedn z aplikacji

Wirtualizacja bez wspomagania sprz towego Przyczyny problemów z wydajno±ci B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 14 / 48 Problemy z wydajno±ci procesor posiada sprz towe wspomaganie przeª czania kontekstu pomi dzy systemem operacyjnym a innymi aplikacjami dzieki instrukcjom takim jak SYSENTER czy SYSEXIT w momencie gdy trzeba je emulowa, wydajno± wirtualizowanego systemu drastycznie spada dost p do cz ±ci zasobów jest po±redni wydªu»enie czasu dost pu VMM dziaªaj ce w trybie hosted jest jedn z aplikacji procesor jest dzielony z innymi aplikacjami dziaªaj cymi w tym czasie

Pierwsze podej±cie do wirtualizacji wspomaganej sprz towo B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 15 / 48 Pierwsze podej±cie do wirtualizacji wspomaganej sprz towo Pomysª Wprowadzenie sprz towej warstwy po±rednicz cej, wspomagaj cej wirtualizacj poprzez poziom Ring 1.

Pierwsze podej±cie do wirtualizacji wspomaganej sprz towo B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 15 / 48 Pierwsze podej±cie do wirtualizacji wspomaganej sprz towo Pomysª Wprowadzenie sprz towej warstwy po±rednicz cej, wspomagaj cej wirtualizacj poprzez poziom Ring 1. Realizacja AMD-V Intel-VT

Pierwsze podej±cie do wirtualizacji wspomaganej sprz towo Ring 1 B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 16 / 48 Ring 1 W normalnym ±rodowisku x86, OS pracuje w trybie Ring 0

Pierwsze podej±cie do wirtualizacji wspomaganej sprz towo Ring 1 B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 16 / 48 Ring 1 W normalnym ±rodowisku x86, OS pracuje w trybie Ring 0 Rozszerzenie zestawu instrukcji czy te» wprowadzenie nowych elementów hardware'owych, dziaªaj cych w nowym uprzywilejowanym i chronionym trybie Ring 1 umo»liwia wirtualnym maszynom przekierowanie komunikacji z Ring 0 do Ring 1

Pierwsze podej±cie do wirtualizacji wspomaganej sprz towo Ring 1 Ring 1 W normalnym ±rodowisku x86, OS pracuje w trybie Ring 0 Rozszerzenie zestawu instrukcji czy te» wprowadzenie nowych elementów hardware'owych, dziaªaj cych w nowym uprzywilejowanym i chronionym trybie Ring 1 umo»liwia wirtualnym maszynom przekierowanie komunikacji z Ring 0 do Ring 1 Wirtualizowane systemy operacyjne wspóªistniej ze sob bez ±wiadomo±ci o istnieniu pozostaªych systemów B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 16 / 48

Pierwsze podej±cie do wirtualizacji wspomaganej sprz towo AMD-V B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 17 / 48 AMD-V AMD-V rozszerzenie wprowadzone przez rm AMD do swoich 64-bitowych procesorów (x86-64, nazwa kodowa: Pacica) dodatkowo Direct Connect

Pierwsze podej±cie do wirtualizacji wspomaganej sprz towo AMD-V B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 17 / 48 AMD-V AMD-V rozszerzenie wprowadzone przez rm AMD do swoich 64-bitowych procesorów (x86-64, nazwa kodowa: Pacica) dodatkowo Direct Connect wbudowany kontroler pami ci z obsªug wirtualizacji - znaczne usprawnienie wirtualizacji, separacja pami ci operacyjnej poszczególnych VM

Pierwsze podej±cie do wirtualizacji wspomaganej sprz towo AMD-V B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 17 / 48 AMD-V AMD-V rozszerzenie wprowadzone przez rm AMD do swoich 64-bitowych procesorów (x86-64, nazwa kodowa: Pacica) dodatkowo Direct Connect wbudowany kontroler pami ci z obsªug wirtualizacji - znaczne usprawnienie wirtualizacji, separacja pami ci operacyjnej poszczególnych VM VMCB (Virtual Machine Control Block) - zawiera informacje o tym, jakie akcje maj by obsªugiwane przez monitor VM oraz struktury opisuj ce, które informacje (zasoby) s widoczne dla systemu go±cia.

Pierwsze podej±cie do wirtualizacji wspomaganej sprz towo AMD-V B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 17 / 48 AMD-V AMD-V rozszerzenie wprowadzone przez rm AMD do swoich 64-bitowych procesorów (x86-64, nazwa kodowa: Pacica) dodatkowo Direct Connect wbudowany kontroler pami ci z obsªug wirtualizacji - znaczne usprawnienie wirtualizacji, separacja pami ci operacyjnej poszczególnych VM VMCB (Virtual Machine Control Block) - zawiera informacje o tym, jakie akcje maj by obsªugiwane przez monitor VM oraz struktury opisuj ce, które informacje (zasoby) s widoczne dla systemu go±cia. dodatkowe instrukcje VMRUN (entry i exit), VMCALL

Pierwsze podej±cie do wirtualizacji wspomaganej sprz towo AMD-V B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 17 / 48 AMD-V AMD-V rozszerzenie wprowadzone przez rm AMD do swoich 64-bitowych procesorów (x86-64, nazwa kodowa: Pacica) dodatkowo Direct Connect wbudowany kontroler pami ci z obsªug wirtualizacji - znaczne usprawnienie wirtualizacji, separacja pami ci operacyjnej poszczególnych VM VMCB (Virtual Machine Control Block) - zawiera informacje o tym, jakie akcje maj by obsªugiwane przez monitor VM oraz struktury opisuj ce, które informacje (zasoby) s widoczne dla systemu go±cia. dodatkowe instrukcje VMRUN (entry i exit), VMCALL stan hosta jest zapami tywany przy pomocy MSR (Model Specic Register)

Pierwsze podej±cie do wirtualizacji wspomaganej sprz towo AMD-V B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 17 / 48 AMD-V AMD-V rozszerzenie wprowadzone przez rm AMD do swoich 64-bitowych procesorów (x86-64, nazwa kodowa: Pacica) dodatkowo Direct Connect wbudowany kontroler pami ci z obsªug wirtualizacji - znaczne usprawnienie wirtualizacji, separacja pami ci operacyjnej poszczególnych VM VMCB (Virtual Machine Control Block) - zawiera informacje o tym, jakie akcje maj by obsªugiwane przez monitor VM oraz struktury opisuj ce, które informacje (zasoby) s widoczne dla systemu go±cia. dodatkowe instrukcje VMRUN (entry i exit), VMCALL stan hosta jest zapami tywany przy pomocy MSR (Model Specic Register) kontroler pami ci (IOMMU - I/O Memory Management Unit) - o tym wi cej pó¹niej :)

Pierwsze podej±cie do wirtualizacji wspomaganej sprz towo AMD-V B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 17 / 48 AMD-V AMD-V rozszerzenie wprowadzone przez rm AMD do swoich 64-bitowych procesorów (x86-64, nazwa kodowa: Pacica) dodatkowo Direct Connect wbudowany kontroler pami ci z obsªug wirtualizacji - znaczne usprawnienie wirtualizacji, separacja pami ci operacyjnej poszczególnych VM VMCB (Virtual Machine Control Block) - zawiera informacje o tym, jakie akcje maj by obsªugiwane przez monitor VM oraz struktury opisuj ce, które informacje (zasoby) s widoczne dla systemu go±cia. dodatkowe instrukcje VMRUN (entry i exit), VMCALL stan hosta jest zapami tywany przy pomocy MSR (Model Specic Register) kontroler pami ci (IOMMU - I/O Memory Management Unit) - o tym wi cej pó¹niej :) zmniejszenie obci»enia poprzez selektywne przechwytywanie instrukcji przeznaczonych dla ±rodowisk go±ci

Pierwsze podej±cie do wirtualizacji wspomaganej sprz towo AMD-V B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 18 / 48 AMD-V: Direct Connect Direct Connect bezpo±rednio ª czy procesory, zintegrowany kontroler pami ci oraz ukªad I/O z centraln jednostk obliczeniow, umo»liwiaj c komunikacj z peªn pr dko±ci pracy procesora

Pierwsze podej±cie do wirtualizacji wspomaganej sprz towo AMD-V B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 18 / 48 AMD-V: Direct Connect Direct Connect bezpo±rednio ª czy procesory, zintegrowany kontroler pami ci oraz ukªad I/O z centraln jednostk obliczeniow, umo»liwiaj c komunikacj z peªn pr dko±ci pracy procesora technologia HyperTransport zapewnia skalowaln przepustowo± ª cza mi dzy procesorami, podsystemami I/O i innymi ukªadami. Udost pnia do trzech ª czy, zapewniaj cych ª czn przepustowo± do 24,0 GB/s na procesor.

Pierwsze podej±cie do wirtualizacji wspomaganej sprz towo Intel-VT B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 19 / 48 Intel-VT Intel-VT rozszerzenie wprowadzone przez rm Intel do swoich procesorów (nazwa kodowa: Vanderpool)

Pierwsze podej±cie do wirtualizacji wspomaganej sprz towo Intel-VT Intel-VT Intel-VT rozszerzenie wprowadzone przez rm Intel do swoich procesorów (nazwa kodowa: Vanderpool) dla procesorów 32-bitowych: VT-x B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 19 / 48

Pierwsze podej±cie do wirtualizacji wspomaganej sprz towo Intel-VT Intel-VT Intel-VT rozszerzenie wprowadzone przez rm Intel do swoich procesorów (nazwa kodowa: Vanderpool) dla procesorów 32-bitowych: VT-x dla procesorów 64-bitowych (Itanium): VT-i B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 19 / 48

Pierwsze podej±cie do wirtualizacji wspomaganej sprz towo Intel-VT Intel-VT Intel-VT rozszerzenie wprowadzone przez rm Intel do swoich procesorów (nazwa kodowa: Vanderpool) dla procesorów 32-bitowych: VT-x dla procesorów 64-bitowych (Itanium): VT-i dodatkowo VT-d: Directed I/O - o tym wi cej na pó¹niejszych slajdach B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 19 / 48

Pierwsze podej±cie do wirtualizacji wspomaganej sprz towo Intel-VT B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 20 / 48 Intel VT-x oraz VT-i VT-x oraz VT-i architektura wzbogacona o 2 nowe formy operacji: VMX root operations oraz VMX non-root operations

Pierwsze podej±cie do wirtualizacji wspomaganej sprz towo Intel-VT Intel VT-x oraz VT-i VT-x oraz VT-i architektura wzbogacona o 2 nowe formy operacji: VMX root operations oraz VMX non-root operations VMX root operations - u»ywane przez VMM do wªasnych potrzeb B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 20 / 48

Pierwsze podej±cie do wirtualizacji wspomaganej sprz towo Intel-VT Intel VT-x oraz VT-i VT-x oraz VT-i architektura wzbogacona o 2 nowe formy operacji: VMX root operations oraz VMX non-root operations VMX root operations - u»ywane przez VMM do wªasnych potrzeb VMX non-root operations - zaprojektowane by stworzy ±rodowisko kontrolowane przez VMM, ale zaprojektowane by wspiera VM. B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 20 / 48

Pierwsze podej±cie do wirtualizacji wspomaganej sprz towo Intel-VT Intel VT-x oraz VT-i VT-x oraz VT-i architektura wzbogacona o 2 nowe formy operacji: VMX root operations oraz VMX non-root operations VMX root operations - u»ywane przez VMM do wªasnych potrzeb VMX non-root operations - zaprojektowane by stworzy ±rodowisko kontrolowane przez VMM, ale zaprojektowane by wspiera VM. obie formy operacji obsªuguj 4 poziomy uprzywilejowania - instrukcje wirtualizowanego SO wykonuj si na takim poziomie, dla jakiego zostaªy zaprojektowane B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 20 / 48

Pierwsze podej±cie do wirtualizacji wspomaganej sprz towo Intel-VT Intel VT-x oraz VT-i VT-x oraz VT-i architektura wzbogacona o 2 nowe formy operacji: VMX root operations oraz VMX non-root operations VMX root operations - u»ywane przez VMM do wªasnych potrzeb VMX non-root operations - zaprojektowane by stworzy ±rodowisko kontrolowane przez VMM, ale zaprojektowane by wspiera VM. obie formy operacji obsªuguj 4 poziomy uprzywilejowania - instrukcje wirtualizowanego SO wykonuj si na takim poziomie, dla jakiego zostaªy zaprojektowane zdeniowane nowe przej±cia mi dzy stanami procesora: VM entry oraz VM exit B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 20 / 48

Pierwsze podej±cie do wirtualizacji wspomaganej sprz towo Intel-VT Intel VT-x oraz VT-i VT-x oraz VT-i architektura wzbogacona o 2 nowe formy operacji: VMX root operations oraz VMX non-root operations VMX root operations - u»ywane przez VMM do wªasnych potrzeb VMX non-root operations - zaprojektowane by stworzy ±rodowisko kontrolowane przez VMM, ale zaprojektowane by wspiera VM. obie formy operacji obsªuguj 4 poziomy uprzywilejowania - instrukcje wirtualizowanego SO wykonuj si na takim poziomie, dla jakiego zostaªy zaprojektowane zdeniowane nowe przej±cia mi dzy stanami procesora: VM entry oraz VM exit przej±cia zarz dzane przez VMCS (Virtual Machine Control Structure, por. AMD VMCB), struktur zawieraj c grupy pól guest-state-area oraz host-state-area pami taj ce stan procesora dla poszczególnych maszyn B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 20 / 48

Pierwsze podej±cie do wirtualizacji wspomaganej sprz towo Intel-VT Intel VT-x oraz VT-i VT-x oraz VT-i architektura wzbogacona o 2 nowe formy operacji: VMX root operations oraz VMX non-root operations VMX root operations - u»ywane przez VMM do wªasnych potrzeb VMX non-root operations - zaprojektowane by stworzy ±rodowisko kontrolowane przez VMM, ale zaprojektowane by wspiera VM. obie formy operacji obsªuguj 4 poziomy uprzywilejowania - instrukcje wirtualizowanego SO wykonuj si na takim poziomie, dla jakiego zostaªy zaprojektowane zdeniowane nowe przej±cia mi dzy stanami procesora: VM entry oraz VM exit przej±cia zarz dzane przez VMCS (Virtual Machine Control Structure, por. AMD VMCB), struktur zawieraj c grupy pól guest-state-area oraz host-state-area pami taj ce stan procesora dla poszczególnych maszyn dodatkowo wprowadzono instrukcje: VMPTRLD, VMPTRSD, VMCLEAR, VMREAD, VMWRITE, VMCALL, VMLAUNCH, VMRESUME, VMXOFF, VMXON B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 20 / 48

Wirtualizacja MMU Shadow page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 21 / 48 Pami wirtualna maszyny wirtualnej

Wirtualizacja MMU Shadow page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 21 / 48 Pami wirtualna maszyny wirtualnej Go±cinny system operacyjny mo»e korzysta z pami ci wirtualnej

Wirtualizacja MMU Shadow page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 21 / 48 Pami wirtualna maszyny wirtualnej Go±cinny system operacyjny mo»e korzysta z pami ci wirtualnej Oczekuje od MMU translacji adresów wirtualnych na zyczne

Wirtualizacja MMU Shadow page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 21 / 48 Pami wirtualna maszyny wirtualnej Go±cinny system operacyjny mo»e korzysta z pami ci wirtualnej Oczekuje od MMU translacji adresów wirtualnych na zyczne Otrzymane adresy s zyczne tylko w z perspektywy go±cia - s wirtualnymi adresami gospodarza

Wirtualizacja MMU Shadow page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 21 / 48 Pami wirtualna maszyny wirtualnej Go±cinny system operacyjny mo»e korzysta z pami ci wirtualnej Oczekuje od MMU translacji adresów wirtualnych na zyczne Otrzymane adresy s zyczne tylko w z perspektywy go±cia - s wirtualnymi adresami gospodarza Potrzebujemy tablic stron tªumacz cych guest-virtual host-physical

Wirtualizacja MMU Shadow page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 22 / 48 Jak to dziaªa

Wirtualizacja MMU Shadow page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 22 / 48 Jak to dziaªa Go± utrzymuje wªasne tablice stron (guest page tables - gpt).

Wirtualizacja MMU Shadow page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 22 / 48 Jak to dziaªa Go± utrzymuje wªasne tablice stron (guest page tables - gpt). VMM zmusza CPU do korzystania z tablic stron ukrytych przed go±ciem (shadow page tables - spt).

Wirtualizacja MMU Shadow page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 22 / 48 Jak to dziaªa Go± utrzymuje wªasne tablice stron (guest page tables - gpt). VMM zmusza CPU do korzystania z tablic stron ukrytych przed go±ciem (shadow page tables - spt). VMM utrzymuje spt i TLB w spójno±ci z gpt.

Wirtualizacja MMU Shadow page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 23 / 48 Shadow Page Tables - diagram Go±... CR3 Katalog stron Tablice stron

Wirtualizacja MMU Shadow page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 23 / 48 Shadow Page Tables - diagram Go± Shadow page tables...... CR3 CR3 Katalog stron Katalog stron Tablice stron Tablice stron

Wirtualizacja MMU Shadow page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 23 / 48 Shadow Page Tables - diagram Go± Shadow page tables...... CR3 Katalog stron CR3 Katalog stron... Tablice stron Tablice stron Ramki pami ci

Wirtualizacja MMU Shadow page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 24 / 48 Przykªad implementacji

Wirtualizacja MMU Shadow page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 24 / 48 Przykªad implementacji Virtual TLB Zakªada si,»e system operacyjny dba o spójno± wpisów w TLB

Wirtualizacja MMU Shadow page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 24 / 48 Przykªad implementacji Virtual TLB Zakªada si,»e system operacyjny dba o spójno± wpisów w TLB VMM przechwytuje operacje na rejestrze CR3 (wska¹nik katalogu stron), INVLPG (uniewa»nienie wpisu w TLB), oraz page fault

Wirtualizacja MMU Shadow page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 24 / 48 Przykªad implementacji Virtual TLB Zakªada si,»e system operacyjny dba o spójno± wpisów w TLB VMM przechwytuje operacje na rejestrze CR3 (wska¹nik katalogu stron), INVLPG (uniewa»nienie wpisu w TLB), oraz page fault W wypadku page fault przechodzi przez gpt i hostpt, pobiera potrzebn stron do ramki i umieszcza odpowiedni wpis w spt.

Wirtualizacja MMU Shadow page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 24 / 48 Przykªad implementacji Virtual TLB Zakªada si,»e system operacyjny dba o spójno± wpisów w TLB VMM przechwytuje operacje na rejestrze CR3 (wska¹nik katalogu stron), INVLPG (uniewa»nienie wpisu w TLB), oraz page fault W wypadku page fault przechodzi przez gpt i hostpt, pobiera potrzebn stron do ramki i umieszcza odpowiedni wpis w spt. Przy INVLPG czy±ci odpowiednie wpisy w spt.

Wirtualizacja MMU Shadow page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 24 / 48 Przykªad implementacji Virtual TLB Zakªada si,»e system operacyjny dba o spójno± wpisów w TLB VMM przechwytuje operacje na rejestrze CR3 (wska¹nik katalogu stron), INVLPG (uniewa»nienie wpisu w TLB), oraz page fault W wypadku page fault przechodzi przez gpt i hostpt, pobiera potrzebn stron do ramki i umieszcza odpowiedni wpis w spt. Przy INVLPG czy±ci odpowiednie wpisy w spt. write-protected gpt gpt jest chronione przed zapisem przez go±cia

Wirtualizacja MMU Shadow page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 24 / 48 Przykªad implementacji Virtual TLB Zakªada si,»e system operacyjny dba o spójno± wpisów w TLB VMM przechwytuje operacje na rejestrze CR3 (wska¹nik katalogu stron), INVLPG (uniewa»nienie wpisu w TLB), oraz page fault W wypadku page fault przechodzi przez gpt i hostpt, pobiera potrzebn stron do ramki i umieszcza odpowiedni wpis w spt. Przy INVLPG czy±ci odpowiednie wpisy w spt. write-protected gpt gpt jest chronione przed zapisem przez go±cia zapis powoduje page fault i VMM mo»e zaemulowa operacje dbaj c o spójno± z spt

Wirtualizacja MMU Shadow page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 25 / 48 Podsumowanie shadow page tables Zalety Wady

Wirtualizacja MMU Shadow page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 25 / 48 Podsumowanie shadow page tables Zalety Wady Nie ma potrzeby emulowania/rekompilacji ka»dej instrukcji - w wypadku stron znajduj cych si w spt MMU dokonuje translacji adresów

Wirtualizacja MMU Shadow page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 25 / 48 Podsumowanie shadow page tables Zalety Wady Nie ma potrzeby emulowania/rekompilacji ka»dej instrukcji - w wypadku stron znajduj cych si w spt MMU dokonuje translacji adresów Cz sty page fault. Mo»e by te» powodowany przez go±cia, który przeniósª stron do pami ci pomocniczej. eby si o tym przekona i tak trzeba przej± przez spt, gpt i hostpt.

Wirtualizacja MMU Shadow page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 25 / 48 Podsumowanie shadow page tables Zalety Nie ma potrzeby emulowania/rekompilacji ka»dej instrukcji - w wypadku stron znajduj cych si w spt MMU dokonuje translacji adresów Wady Cz sty page fault. Mo»e by te» powodowany przez go±cia, który przeniósª stron do pami ci pomocniczej. eby si o tym przekona i tak trzeba przej± przez spt, gpt i hostpt. Konieczno± synchronizacji spt gpt (bit dirty i accessed).

Wirtualizacja MMU Shadow page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 25 / 48 Podsumowanie shadow page tables Zalety Nie ma potrzeby emulowania/rekompilacji ka»dej instrukcji - w wypadku stron znajduj cych si w spt MMU dokonuje translacji adresów Wady Cz sty page fault. Mo»e by te» powodowany przez go±cia, który przeniósª stron do pami ci pomocniczej. eby si o tym przekona i tak trzeba przej± przez spt, gpt i hostpt. Konieczno± synchronizacji spt gpt (bit dirty i accessed). Wysokie zu»ycie pami ci - dla ka»dego procesu go±cia nowe spt.

Wirtualizacja MMU Shadow page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 25 / 48 Podsumowanie shadow page tables Zalety Nie ma potrzeby emulowania/rekompilacji ka»dej instrukcji - w wypadku stron znajduj cych si w spt MMU dokonuje translacji adresów Wady Cz sty page fault. Mo»e by te» powodowany przez go±cia, który przeniósª stron do pami ci pomocniczej. eby si o tym przekona i tak trzeba przej± przez spt, gpt i hostpt. Konieczno± synchronizacji spt gpt (bit dirty i accessed). Wysokie zu»ycie pami ci - dla ka»dego procesu go±cia nowe spt. Obsªuga spt mo»e stanowi do 75% czasu dziaªania VMM.

Wirtualizacja MMU Nested page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 26 / 48 AMD Nested Page Tables i Intel Extended Page Tables

Wirtualizacja MMU Nested page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 26 / 48 AMD Nested Page Tables i Intel Extended Page Tables Sprz towy page walker mo»e dokona podwójnej translacji adresów

Wirtualizacja MMU Nested page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 26 / 48 AMD Nested Page Tables i Intel Extended Page Tables Sprz towy page walker mo»e dokona podwójnej translacji adresów guest-virtual guest-physical = host-virtual host-physical

Wirtualizacja MMU Nested page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 27 / 48 Podsumowanie nested page tables Wady Zalety

Wirtualizacja MMU Nested page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 27 / 48 Podsumowanie nested page tables Wady Przej±cie przez npt jest dwa razy dªu»sze od przej±cia przez spt. Mo»e to by odczuwalne przy bardzo niskiej wieloprogramowo±ci go±cia. Zalety

Wirtualizacja MMU Nested page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 27 / 48 Podsumowanie nested page tables Wady Zalety Przej±cie przez npt jest dwa razy dªu»sze od przej±cia przez spt. Mo»e to by odczuwalne przy bardzo niskiej wieloprogramowo±ci go±cia. Przej±cie przez npt zajmuje wi cej pozycji w TLB i zwi ksza szanse na nie traenie.

Wirtualizacja MMU Nested page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 27 / 48 Podsumowanie nested page tables Wady Zalety Przej±cie przez npt jest dwa razy dªu»sze od przej±cia przez spt. Mo»e to by odczuwalne przy bardzo niskiej wieloprogramowo±ci go±cia. Przej±cie przez npt zajmuje wi cej pozycji w TLB i zwi ksza szanse na nie traenie. Mniejsze zu»ycie pami ci.

Wirtualizacja MMU Nested page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 27 / 48 Podsumowanie nested page tables Wady Zalety Przej±cie przez npt jest dwa razy dªu»sze od przej±cia przez spt. Mo»e to by odczuwalne przy bardzo niskiej wieloprogramowo±ci go±cia. Przej±cie przez npt zajmuje wi cej pozycji w TLB i zwi ksza szanse na nie traenie. Mniejsze zu»ycie pami ci. Zmiana kontekstu przez go±cia (edycja CR3) nie wymaga obsªugi VMM.

Wirtualizacja MMU Nested page tables B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 27 / 48 Podsumowanie nested page tables Wady Zalety Przej±cie przez npt jest dwa razy dªu»sze od przej±cia przez spt. Mo»e to by odczuwalne przy bardzo niskiej wieloprogramowo±ci go±cia. Przej±cie przez npt zajmuje wi cej pozycji w TLB i zwi ksza szanse na nie traenie. Mniejsze zu»ycie pami ci. Zmiana kontekstu przez go±cia (edycja CR3) nie wymaga obsªugi VMM. Prostszy VMM - prostsza obsªuga page fault.

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 28 / 48 Urz dzania w maszynie wirtualnej System operacyjny go±cia b dzie szukaª urz dze«na swojej maszynie

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 28 / 48 Urz dzania w maszynie wirtualnej System operacyjny go±cia b dzie szukaª urz dze«na swojej maszynie Mo»e nie by ±wiadomy uruchomienia na wirtualnej maszynia

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 28 / 48 Urz dzania w maszynie wirtualnej System operacyjny go±cia b dzie szukaª urz dze«na swojej maszynie Mo»e nie by ±wiadomy uruchomienia na wirtualnej maszynia Przechowywanie danych (HDD, ROM)

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 28 / 48 Urz dzania w maszynie wirtualnej System operacyjny go±cia b dzie szukaª urz dze«na swojej maszynie Mo»e nie by ±wiadomy uruchomienia na wirtualnej maszynia Przechowywanie danych (HDD, ROM) Komunikacja (karta sieciowa)

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 28 / 48 Urz dzania w maszynie wirtualnej System operacyjny go±cia b dzie szukaª urz dze«na swojej maszynie Mo»e nie by ±wiadomy uruchomienia na wirtualnej maszynia Przechowywanie danych (HDD, ROM) Komunikacja (karta sieciowa)...

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 29 / 48 Podej±cie pierwsze: emulacja

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 29 / 48 Podej±cie pierwsze: emulacja Go±cinny system operacyjny korzysta ze zwykªych sterowników do urz dzenia

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 29 / 48 Podej±cie pierwsze: emulacja Go±cinny system operacyjny korzysta ze zwykªych sterowników do urz dzenia Jednak zamiast komunikowa si z urz dzeniem, komunikuje si z VMM

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 29 / 48 Podej±cie pierwsze: emulacja Go±cinny system operacyjny korzysta ze zwykªych sterowników do urz dzenia Jednak zamiast komunikowa si z urz dzeniem, komunikuje si z VMM VMM emuluje operacje wykonywane przez urz dzenie

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 29 / 48 Podej±cie pierwsze: emulacja Zalety Go±cinny system operacyjny korzysta ze zwykªych sterowników do urz dzenia Jednak zamiast komunikowa si z urz dzeniem, komunikuje si z VMM VMM emuluje operacje wykonywane przez urz dzenie Nie trzeba modykowa go±cinnego systemu operacyjnego, ani pisa nowych sterowników

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 29 / 48 Podej±cie pierwsze: emulacja Zalety Wady Go±cinny system operacyjny korzysta ze zwykªych sterowników do urz dzenia Jednak zamiast komunikowa si z urz dzeniem, komunikuje si z VMM VMM emuluje operacje wykonywane przez urz dzenie Nie trzeba modykowa go±cinnego systemu operacyjnego, ani pisa nowych sterowników Cz ste przeª czanie go± VMM.

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 29 / 48 Podej±cie pierwsze: emulacja Zalety Wady Go±cinny system operacyjny korzysta ze zwykªych sterowników do urz dzenia Jednak zamiast komunikowa si z urz dzeniem, komunikuje si z VMM VMM emuluje operacje wykonywane przez urz dzenie Nie trzeba modykowa go±cinnego systemu operacyjnego, ani pisa nowych sterowników Cz ste przeª czanie go± VMM. Sterownik w VMM musi interpretowa niskopoziomowe polecenia od go±cia.

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 29 / 48 Podej±cie pierwsze: emulacja Zalety Wady Go±cinny system operacyjny korzysta ze zwykªych sterowników do urz dzenia Jednak zamiast komunikowa si z urz dzeniem, komunikuje si z VMM VMM emuluje operacje wykonywane przez urz dzenie Nie trzeba modykowa go±cinnego systemu operacyjnego, ani pisa nowych sterowników Cz ste przeª czanie go± VMM. Sterownik w VMM musi interpretowa niskopoziomowe polecenia od go±cia. Czasami sterownik musi emulowa bugi w urz dzeniu.

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 30 / 48 Emulacja urz dze«: diagram Pami urz dzenia Sterownik urz dzenia Go± Pami urz dzenia VMM Sterownik urz dzenia Urz dzenie przerwanie Wirtualny PIC Urz dzenie wirtualne

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 31 / 48 Podej±cie drugie: parawirtualizacja

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 31 / 48 Podej±cie drugie: parawirtualizacja Go±cinny system operacyjny korzysta ze zmodykowanych sterowników do urz dzenia.

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 31 / 48 Podej±cie drugie: parawirtualizacja Go±cinny system operacyjny korzysta ze zmodykowanych sterowników do urz dzenia. Komunikuje si z VMM, które zajmuje si obsªug urz dzenia.

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 31 / 48 Podej±cie drugie: parawirtualizacja Go±cinny system operacyjny korzysta ze zmodykowanych sterowników do urz dzenia. Komunikuje si z VMM, które zajmuje si obsªug urz dzenia. Komunikacja odbywa si na wy»szym poziomie abstrakcji, ni» z zycznym urz dzeniem.

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 31 / 48 Podej±cie drugie: parawirtualizacja Zalety Go±cinny system operacyjny korzysta ze zmodykowanych sterowników do urz dzenia. Komunikuje si z VMM, które zajmuje si obsªug urz dzenia. Komunikacja odbywa si na wy»szym poziomie abstrakcji, ni» z zycznym urz dzeniem. Znacz co mniejsza ilo±c wysªanych komunikatów go± VMM i mniej przeª cze«kontekstu. Wy»szy poziom abstrakcji upraszcza pisanie sterowników w VMM.

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 31 / 48 Podej±cie drugie: parawirtualizacja Zalety Go±cinny system operacyjny korzysta ze zmodykowanych sterowników do urz dzenia. Komunikuje si z VMM, które zajmuje si obsªug urz dzenia. Komunikacja odbywa si na wy»szym poziomie abstrakcji, ni» z zycznym urz dzeniem. Znacz co mniejsza ilo±c wysªanych komunikatów go± VMM i mniej przeª cze«kontekstu. Wy»szy poziom abstrakcji upraszcza pisanie sterowników w VMM. Wady Dla ka»dego go±cinnego systemu operacyjnego potrzebny jest nowy parasterownik.

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 31 / 48 Podej±cie drugie: parawirtualizacja Zalety Go±cinny system operacyjny korzysta ze zmodykowanych sterowników do urz dzenia. Komunikuje si z VMM, które zajmuje si obsªug urz dzenia. Komunikacja odbywa si na wy»szym poziomie abstrakcji, ni» z zycznym urz dzeniem. Znacz co mniejsza ilo±c wysªanych komunikatów go± VMM i mniej przeª cze«kontekstu. Wy»szy poziom abstrakcji upraszcza pisanie sterowników w VMM. Wady Dla ka»dego go±cinnego systemu operacyjnego potrzebny jest nowy parasterownik. Wci» mniej wydajne od zycznych urz dze«.

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 32 / 48 Parawirtualizacja urz dze«: diagram Zmodykowany go± Parasterownik urz dzenia

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 32 / 48 Parawirtualizacja urz dze«: diagram Zmodykowany go± Parasterownik urz dzenia VMM Interfejs wej±cia/wyj±cia

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 32 / 48 Parawirtualizacja urz dze«: diagram Zmodykowany go± Parasterownik urz dzenia VMM Interfejs wej±cia/wyj±cia Sterownik

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 32 / 48 Parawirtualizacja urz dze«: diagram Zmodykowany go± Parasterownik urz dzenia VMM Interfejs wej±cia/wyj±cia Sterownik Urz dzenie

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 33 / 48 Podej±cie trzecie: bezpo±redni dost p

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 33 / 48 Podej±cie trzecie: bezpo±redni dost p Pozwalamy na komunikacj VM z wybranym urz dzeniem.

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 33 / 48 Podej±cie trzecie: bezpo±redni dost p Problemy Pozwalamy na komunikacj VM z wybranym urz dzeniem.

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 33 / 48 Podej±cie trzecie: bezpo±redni dost p Problemy Pozwalamy na komunikacj VM z wybranym urz dzeniem. Nested Page Tables rozwi zuj problem tªumaczenia adresów dla CPU, ale urz dzenia nie korzystaj z MMU.

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 33 / 48 Podej±cie trzecie: bezpo±redni dost p Problemy Pozwalamy na komunikacj VM z wybranym urz dzeniem. Nested Page Tables rozwi zuj problem tªumaczenia adresów dla CPU, ale urz dzenia nie korzystaj z MMU. Go± u»ywaj c DMA b dzie korzystaª ze swoich adresów zycznych, a nie gospodarza.

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 33 / 48 Podej±cie trzecie: bezpo±redni dost p Problemy Pozwalamy na komunikacj VM z wybranym urz dzeniem. Nested Page Tables rozwi zuj problem tªumaczenia adresów dla CPU, ale urz dzenia nie korzystaj z MMU. Go± u»ywaj c DMA b dzie korzystaª ze swoich adresów zycznych, a nie gospodarza. Dane z urz dze«znajd si w dosy losowym miejscu pami ci gospodarza.

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 33 / 48 Podej±cie trzecie: bezpo±redni dost p Problemy Pozwalamy na komunikacj VM z wybranym urz dzeniem. Nested Page Tables rozwi zuj problem tªumaczenia adresów dla CPU, ale urz dzenia nie korzystaj z MMU. Go± u»ywaj c DMA b dzie korzystaª ze swoich adresów zycznych, a nie gospodarza. Dane z urz dze«znajd si w dosy losowym miejscu pami ci gospodarza. Go± mógªby nawet u»y tego mechanizmu do ucieczki z maszyny wirtualnej.

Dost p do urz dze«z maszyny wirtualnej. IOMMU Dost p do urz dze«z maszyny wirtualnej B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 33 / 48 Podej±cie trzecie: bezpo±redni dost p Problemy Pozwalamy na komunikacj VM z wybranym urz dzeniem. Nested Page Tables rozwi zuj problem tªumaczenia adresów dla CPU, ale urz dzenia nie korzystaj z MMU. Go± u»ywaj c DMA b dzie korzystaª ze swoich adresów zycznych, a nie gospodarza. Dane z urz dze«znajd si w dosy losowym miejscu pami ci gospodarza. Go± mógªby nawet u»y tego mechanizmu do ucieczki z maszyny wirtualnej. Problem rozwi zuje wykorzystanie IOMMU.

Dost p do urz dze«z maszyny wirtualnej. IOMMU IOMMU B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 34 / 48 IOMMU input/output memory management unit AMD IOMMU Intel VT-d

Dost p do urz dze«z maszyny wirtualnej. IOMMU IOMMU B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 34 / 48 IOMMU input/output memory management unit AMD IOMMU Intel VT-d Sprz towe rozwi zanie kontroluj ce dost p urz dze«do pami ci.

Dost p do urz dze«z maszyny wirtualnej. IOMMU IOMMU B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 34 / 48 IOMMU input/output memory management unit AMD IOMMU Intel VT-d Sprz towe rozwi zanie kontroluj ce dost p urz dze«do pami ci. Mo»liwo±ci

Dost p do urz dze«z maszyny wirtualnej. IOMMU IOMMU B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 34 / 48 IOMMU input/output memory management unit AMD IOMMU Intel VT-d Sprz towe rozwi zanie kontroluj ce dost p urz dze«do pami ci. Mo»liwo±ci Pami wirtualna dla urz dze«- niespójne fragmenty pami ci zycznej widoczne jako pami liniowa.

Dost p do urz dze«z maszyny wirtualnej. IOMMU IOMMU B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 34 / 48 IOMMU input/output memory management unit AMD IOMMU Intel VT-d Sprz towe rozwi zanie kontroluj ce dost p urz dze«do pami ci. Mo»liwo±ci Pami wirtualna dla urz dze«- niespójne fragmenty pami ci zycznej widoczne jako pami liniowa. Grupowanie urz dze«w domeny, które wspóªdziel pami wirtualn.

Dost p do urz dze«z maszyny wirtualnej. IOMMU IOMMU B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 34 / 48 IOMMU input/output memory management unit AMD IOMMU Intel VT-d Sprz towe rozwi zanie kontroluj ce dost p urz dze«do pami ci. Mo»liwo±ci Pami wirtualna dla urz dze«- niespójne fragmenty pami ci zycznej widoczne jako pami liniowa. Grupowanie urz dze«w domeny, które wspóªdziel pami wirtualn. Przemapowanie i kontrola przerwa«

Dost p do urz dze«z maszyny wirtualnej. IOMMU IOMMU B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 35 / 48 Zastosowanie w wirtualizacji

Dost p do urz dze«z maszyny wirtualnej. IOMMU IOMMU B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 35 / 48 Zastosowanie w wirtualizacji IOMMU korzysta z tablic stron.

Dost p do urz dze«z maszyny wirtualnej. IOMMU IOMMU B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 35 / 48 Zastosowanie w wirtualizacji IOMMU korzysta z tablic stron. Urz dzeniom bezpo±rednio wykorzystywanym przez VM daje si dost p wyª cznie do pami ci go±cia.

Dost p do urz dze«z maszyny wirtualnej. IOMMU IOMMU B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 35 / 48 Zastosowanie w wirtualizacji IOMMU korzysta z tablic stron. Urz dzeniom bezpo±rednio wykorzystywanym przez VM daje si dost p wyª cznie do pami ci go±cia. IOMMU dokonuje translacji adresów wykorzystywanych w DMA.

Dost p do urz dze«z maszyny wirtualnej. IOMMU IOMMU B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 35 / 48 Zastosowanie w wirtualizacji IOMMU korzysta z tablic stron. Urz dzeniom bezpo±rednio wykorzystywanym przez VM daje si dost p wyª cznie do pami ci go±cia. IOMMU dokonuje translacji adresów wykorzystywanych w DMA. Nie ma potrzeby ingerencji VMM w czasie korzystania z urz dzenia.

Dost p do urz dze«z maszyny wirtualnej. IOMMU IOMMU B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 35 / 48 Zastosowanie w wirtualizacji Zalety IOMMU korzysta z tablic stron. Urz dzeniom bezpo±rednio wykorzystywanym przez VM daje si dost p wyª cznie do pami ci go±cia. IOMMU dokonuje translacji adresów wykorzystywanych w DMA. Nie ma potrzeby ingerencji VMM w czasie korzystania z urz dzenia.

Dost p do urz dze«z maszyny wirtualnej. IOMMU IOMMU B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 35 / 48 Zastosowanie w wirtualizacji Zalety IOMMU korzysta z tablic stron. Urz dzeniom bezpo±rednio wykorzystywanym przez VM daje si dost p wyª cznie do pami ci go±cia. IOMMU dokonuje translacji adresów wykorzystywanych w DMA. Nie ma potrzeby ingerencji VMM w czasie korzystania z urz dzenia. VM ma szybki dost p do urz dzenia.

Dost p do urz dze«z maszyny wirtualnej. IOMMU IOMMU B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 35 / 48 Zastosowanie w wirtualizacji Zalety IOMMU korzysta z tablic stron. Urz dzeniom bezpo±rednio wykorzystywanym przez VM daje si dost p wyª cznie do pami ci go±cia. IOMMU dokonuje translacji adresów wykorzystywanych w DMA. Nie ma potrzeby ingerencji VMM w czasie korzystania z urz dzenia. VM ma szybki dost p do urz dzenia. Wady

Dost p do urz dze«z maszyny wirtualnej. IOMMU IOMMU B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 35 / 48 Zastosowanie w wirtualizacji Zalety IOMMU korzysta z tablic stron. Urz dzeniom bezpo±rednio wykorzystywanym przez VM daje si dost p wyª cznie do pami ci go±cia. IOMMU dokonuje translacji adresów wykorzystywanych w DMA. Nie ma potrzeby ingerencji VMM w czasie korzystania z urz dzenia. VM ma szybki dost p do urz dzenia. Wady Potrzebujemy osobnego urz dzenia dla ka»dego VM.

Dost p do urz dze«z maszyny wirtualnej. IOMMU IOMMU B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 35 / 48 Zastosowanie w wirtualizacji Zalety IOMMU korzysta z tablic stron. Urz dzeniom bezpo±rednio wykorzystywanym przez VM daje si dost p wyª cznie do pami ci go±cia. IOMMU dokonuje translacji adresów wykorzystywanych w DMA. Nie ma potrzeby ingerencji VMM w czasie korzystania z urz dzenia. VM ma szybki dost p do urz dzenia. Wady Potrzebujemy osobnego urz dzenia dla ka»dego VM. Trwaj prace nad rozszerzeniem PCI Express, aby wspieraªo dzielenie urz dzenia mi dzy wirtualne maszyny.

Dost p do urz dze«z maszyny wirtualnej. IOMMU IOMMU B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 36 / 48 Inne zastosowania IOMMU

Dost p do urz dze«z maszyny wirtualnej. IOMMU IOMMU B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 36 / 48 Inne zastosowania IOMMU Bezpo±redni dost p aplikacji do urz dzenia.

Dost p do urz dze«z maszyny wirtualnej. IOMMU IOMMU B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 36 / 48 Inne zastosowania IOMMU Bezpo±redni dost p aplikacji do urz dzenia. Zast pienie Graphics Address Remapping Table - urz dzenie mapuj ce pami dla kart gracznych.

Dost p do urz dze«z maszyny wirtualnej. IOMMU IOMMU B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 36 / 48 Inne zastosowania IOMMU Bezpo±redni dost p aplikacji do urz dzenia. Zast pienie Graphics Address Remapping Table - urz dzenie mapuj ce pami dla kart gracznych. Zast pienie Device Exclusion Vector - odmowa dost pu wybranych urz dze«do wybranych ramek pami ci.

Dost p do urz dze«z maszyny wirtualnej. IOMMU IOMMU B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 36 / 48 Inne zastosowania IOMMU Bezpo±redni dost p aplikacji do urz dzenia. Zast pienie Graphics Address Remapping Table - urz dzenie mapuj ce pami dla kart gracznych. Zast pienie Device Exclusion Vector - odmowa dost pu wybranych urz dze«do wybranych ramek pami ci. Wspomaganie urz dze«32-bitowych - dost p urz dze«do wybranej pami ci bez potrzeby u»ywania bounce buer.

Dost p do urz dze«z maszyny wirtualnej. IOMMU IOMMU B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 36 / 48 Inne zastosowania IOMMU Bezpo±redni dost p aplikacji do urz dzenia. Zast pienie Graphics Address Remapping Table - urz dzenie mapuj ce pami dla kart gracznych. Zast pienie Device Exclusion Vector - odmowa dost pu wybranych urz dze«do wybranych ramek pami ci. Wspomaganie urz dze«32-bitowych - dost p urz dze«do wybranej pami ci bez potrzeby u»ywania bounce buer. Wirtualizacja IOMMU - shadow page tables dla IOMMU.

Wirtualizacja sprz towa w XEN i KVM Co daje sprz t? B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 37 / 48 Wirtualizacja wspomagana sprz towo Podej±cie pozwalaj ce na efektywne uzyskanie peªnej wirtualizacji z pomoc dodatkowych funkcjonalno±ci sprz tu, gªównie procesora. Peªna wirtualizacja symuluje peªne ±rodowisko komputerowe wraz ze sprz tem, na którym niezmodykowane oprogramowanie napisane dla tego sprz tu (architektury) wykonuje si w caªkowitej izolacji.

Wirtualizacja sprz towa w XEN i KVM Co daje sprz t? B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 37 / 48 Wirtualizacja wspomagana sprz towo Podej±cie pozwalaj ce na efektywne uzyskanie peªnej wirtualizacji z pomoc dodatkowych funkcjonalno±ci sprz tu, gªównie procesora. Peªna wirtualizacja symuluje peªne ±rodowisko komputerowe wraz ze sprz tem, na którym niezmodykowane oprogramowanie napisane dla tego sprz tu (architektury) wykonuje si w caªkowitej izolacji. Dopiero niedawno (2007) dodano dodatkowe instrukcje do procesorów serii x86, pozwalaj ce na uzyskanie peªnej wirtualizacji.

Wirtualizacja sprz towa w XEN i KVM Co daje sprz t? B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 37 / 48 Wirtualizacja wspomagana sprz towo Podej±cie pozwalaj ce na efektywne uzyskanie peªnej wirtualizacji z pomoc dodatkowych funkcjonalno±ci sprz tu, gªównie procesora. Peªna wirtualizacja symuluje peªne ±rodowisko komputerowe wraz ze sprz tem, na którym niezmodykowane oprogramowanie napisane dla tego sprz tu (architektury) wykonuje si w caªkowitej izolacji. Dopiero niedawno (2007) dodano dodatkowe instrukcje do procesorów serii x86, pozwalaj ce na uzyskanie peªnej wirtualizacji. Wspomaganie sprz towe pozwala na wykonywanie natywnie wi kszo±ci instrukcji procesora zawartych w pliku wykonywalnym.

Wirtualizacja sprz towa w XEN i KVM Co daje sprz t? B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 37 / 48 Wirtualizacja wspomagana sprz towo Podej±cie pozwalaj ce na efektywne uzyskanie peªnej wirtualizacji z pomoc dodatkowych funkcjonalno±ci sprz tu, gªównie procesora. Peªna wirtualizacja symuluje peªne ±rodowisko komputerowe wraz ze sprz tem, na którym niezmodykowane oprogramowanie napisane dla tego sprz tu (architektury) wykonuje si w caªkowitej izolacji. Dopiero niedawno (2007) dodano dodatkowe instrukcje do procesorów serii x86, pozwalaj ce na uzyskanie peªnej wirtualizacji. Wspomaganie sprz towe pozwala na wykonywanie natywnie wi kszo±ci instrukcji procesora zawartych w pliku wykonywalnym. Na architekturach x86 dwa konkurencyjne rozszerzenia instrukcji procesorów, zaproponowane przez Intel i AMD, odpowiednio Vanderpool i Pacica.

Wirtualizacja sprz towa w XEN i KVM Co daje sprz t? B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 38 / 48 Jest pi knie?

Wirtualizacja sprz towa w XEN i KVM Co daje sprz t? B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 38 / 48 Jest pi knie? Nawet przy sprz towej wirtualizacji zostaje sporo instrukcji, które musz by przechwytywane przez nadzorc.

Wirtualizacja sprz towa w XEN i KVM Co daje sprz t? B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 38 / 48 Jest pi knie? Nawet przy sprz towej wirtualizacji zostaje sporo instrukcji, które musz by przechwytywane przez nadzorc. Pomysª na radzenie sobie z tym kªopotem, to zastosowanie hybrydowej wirtualizacji, tj. sprz towej wirtualizacji + parawirtualizacji niektórych fragmentów oprogramowania systemowego, np. sterowników sprz tu.

Wirtualizacja sprz towa w XEN i KVM Co daje sprz t? B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 38 / 48 Jest pi knie? Nawet przy sprz towej wirtualizacji zostaje sporo instrukcji, które musz by przechwytywane przez nadzorc. Pomysª na radzenie sobie z tym kªopotem, to zastosowanie hybrydowej wirtualizacji, tj. sprz towej wirtualizacji + parawirtualizacji niektórych fragmentów oprogramowania systemowego, np. sterowników sprz tu. Co± za co±: albo mamy peªn wirtualizacj z powolnym przechwytywaniem instrukcji procesora, albo mamy szybk parawirtualizacj, która wymaga ingerencji w oprogramowanie.

Wirtualizacja sprz towa w XEN i KVM Sprz towa wirtualizacja w Xen i KVM B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 39 / 48 Wycieczka do Xen Xen ±wiat na pograniczu wymiarów w grze HalfLife

Wirtualizacja sprz towa w XEN i KVM Sprz towa wirtualizacja w Xen i KVM B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 39 / 48 Wycieczka do Xen Xen ±wiat na pograniczu wymiarów w grze HalfLife...lub VMM na licencji GPL

Wirtualizacja sprz towa w XEN i KVM Sprz towa wirtualizacja w Xen i KVM B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 40 / 48 Wycieczka do Xen Mo»liwo±ci:

Wirtualizacja sprz towa w XEN i KVM Sprz towa wirtualizacja w Xen i KVM B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 40 / 48 Wycieczka do Xen Mo»liwo±ci: parawirtualizacja odpowiednio zmodykowanych systemów (Linux, *BSD, Solaris)

Wirtualizacja sprz towa w XEN i KVM Sprz towa wirtualizacja w Xen i KVM B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 40 / 48 Wycieczka do Xen Mo»liwo±ci: parawirtualizacja odpowiednio zmodykowanych systemów (Linux, *BSD, Solaris) peªna wirtualizacja na komputerach wyposa»onych w odpowiednie rozszerzenia instrukcji procesora (wspólny interfejs dla instrukcji Intela i AMD)

Wirtualizacja sprz towa w XEN i KVM Sprz towa wirtualizacja w Xen i KVM B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 40 / 48 Wycieczka do Xen Mo»liwo±ci: parawirtualizacja odpowiednio zmodykowanych systemów (Linux, *BSD, Solaris) peªna wirtualizacja na komputerach wyposa»onych w odpowiednie rozszerzenia instrukcji procesora (wspólny interfejs dla instrukcji Intela i AMD) ciekawy dodatek przenoszenie na»ywo dziaªaj cej wirtualnej maszyny na inny komputer poprzez poª czenie sieciowe.

Wirtualizacja sprz towa w XEN i KVM Sprz towa wirtualizacja w Xen i KVM B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 41 / 48 Kernelbased Virtual Machine KVM to zestaw interfejsów kernela linuksowego, umo»liwiaj cy wykorzystanie rozszerze«vanderpool i Pacica do uzyskania peªnej wirtualizacji.

Wirtualizacja sprz towa w XEN i KVM Sprz towa wirtualizacja w Xen i KVM B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 41 / 48 Kernelbased Virtual Machine KVM to zestaw interfejsów kernela linuksowego, umo»liwiaj cy wykorzystanie rozszerze«vanderpool i Pacica do uzyskania peªnej wirtualizacji. KVM dziaªa jako moduª kernela, udost pniaj cy przez urz dzenie /dev/kvm interfejs do obsªugi wirtualizowanych systemów.

Wirtualizacja sprz towa w XEN i KVM Sprz towa wirtualizacja w Xen i KVM Kernelbased Virtual Machine KVM to zestaw interfejsów kernela linuksowego, umo»liwiaj cy wykorzystanie rozszerze«vanderpool i Pacica do uzyskania peªnej wirtualizacji. KVM dziaªa jako moduª kernela, udost pniaj cy przez urz dzenie /dev/kvm interfejs do obsªugi wirtualizowanych systemów. Zalety takiego podej±cia, to mo»liwo± obsªugi wirtualizacji z poziomu userspace. B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 41 / 48

Wirtualizacja sprz towa w XEN i KVM Sprz towa wirtualizacja w Xen i KVM Kernelbased Virtual Machine KVM to zestaw interfejsów kernela linuksowego, umo»liwiaj cy wykorzystanie rozszerze«vanderpool i Pacica do uzyskania peªnej wirtualizacji. KVM dziaªa jako moduª kernela, udost pniaj cy przez urz dzenie /dev/kvm interfejs do obsªugi wirtualizowanych systemów. Zalety takiego podej±cia, to mo»liwo± obsªugi wirtualizacji z poziomu userspace. Natywna obsªuga niektórych staro»ytnych systemów nie jest aktualnie mo»liwa (Windows '95, DOS) i trzeba ucieka si do emulacji brak zaimplementowanego trybu rzeczywistego. B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 41 / 48

Wirtualizacja sprz towa w XEN i KVM Sprz towa wirtualizacja w Xen i KVM Kernelbased Virtual Machine KVM to zestaw interfejsów kernela linuksowego, umo»liwiaj cy wykorzystanie rozszerze«vanderpool i Pacica do uzyskania peªnej wirtualizacji. KVM dziaªa jako moduª kernela, udost pniaj cy przez urz dzenie /dev/kvm interfejs do obsªugi wirtualizowanych systemów. Zalety takiego podej±cia, to mo»liwo± obsªugi wirtualizacji z poziomu userspace. Natywna obsªuga niektórych staro»ytnych systemów nie jest aktualnie mo»liwa (Windows '95, DOS) i trzeba ucieka si do emulacji brak zaimplementowanego trybu rzeczywistego. Tak jak Xen, wspiera migracj dziaªaj cych maszyn, w dodatku dobrze sobie radzi robi c to przez ssh. B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 41 / 48

Wirtualizacja sprz towa w XEN i KVM Sprz towa wirtualizacja w Xen i KVM B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 42 / 48 Jeszcze b dzie przepi knie... KVM to do± mªody projekt, chocia» ma ju» na koncie zdumiewaj c list obsªugiwanych systemów, m.in. Windows Vista i Windows Server 2008.

Wirtualizacja sprz towa w XEN i KVM Sprz towa wirtualizacja w Xen i KVM B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 42 / 48 Jeszcze b dzie przepi knie... KVM to do± mªody projekt, chocia» ma ju» na koncie zdumiewaj c list obsªugiwanych systemów, m.in. Windows Vista i Windows Server 2008. Wci» jest sporo miejsca na popraw szybko±ci dziaªania. W niektórych sytuacjach szybciej dziaªa software'owa emulacja poprzez QEMU (emulator procesora) z doª czonym moduªem kernela KQEMU, ni» teoretycznie lepsza wirtualizacja poprzez KVM.

Wirtualizacja sprz towa w XEN i KVM Sprz towa wirtualizacja w Xen i KVM B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 42 / 48 Jeszcze b dzie przepi knie... KVM to do± mªody projekt, chocia» ma ju» na koncie zdumiewaj c list obsªugiwanych systemów, m.in. Windows Vista i Windows Server 2008. Wci» jest sporo miejsca na popraw szybko±ci dziaªania. W niektórych sytuacjach szybciej dziaªa software'owa emulacja poprzez QEMU (emulator procesora) z doª czonym moduªem kernela KQEMU, ni» teoretycznie lepsza wirtualizacja poprzez KVM. Ogólny kierunek rozwoju KVM i Xen skupia si na»mudnym poprawianiu wydajno±ci poprzez popraw kodu oraz rozwijaniem emulacji dost pu do pami ci, dodawaniu obsªugi ró»nych sprz towych bajerów niekoniecznie zwi zanych z wydajno±ci (np. ACPI) oraz nowych urz dze«(usb, SCSI), tudzie» gruntownym remoncie niektórych istotnych kawaªków kodu ¹ródªowego QEMU, wykorzystywany w KVM, Xen, a nawet VirtualBox, wci» nie mo»na skompilowa za pomoc GCC 4.

Wirtualizacja sprz towa w XEN i KVM Sprz towa wirtualizacja w Xen i KVM B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 42 / 48 Jeszcze b dzie przepi knie... KVM to do± mªody projekt, chocia» ma ju» na koncie zdumiewaj c list obsªugiwanych systemów, m.in. Windows Vista i Windows Server 2008. Wci» jest sporo miejsca na popraw szybko±ci dziaªania. W niektórych sytuacjach szybciej dziaªa software'owa emulacja poprzez QEMU (emulator procesora) z doª czonym moduªem kernela KQEMU, ni» teoretycznie lepsza wirtualizacja poprzez KVM. Ogólny kierunek rozwoju KVM i Xen skupia si na»mudnym poprawianiu wydajno±ci poprzez popraw kodu oraz rozwijaniem emulacji dost pu do pami ci, dodawaniu obsªugi ró»nych sprz towych bajerów niekoniecznie zwi zanych z wydajno±ci (np. ACPI) oraz nowych urz dze«(usb, SCSI), tudzie» gruntownym remoncie niektórych istotnych kawaªków kodu ¹ródªowego QEMU, wykorzystywany w KVM, Xen, a nawet VirtualBox, wci» nie mo»na skompilowa za pomoc GCC 4. Autor tego slajdu osobi±cie testowaª dziaªanie KQEMU, instaluj c system Windows '98 i swoj ulubion aplikacj u»ytkow.

Wirtualizacja sprz towa w XEN i KVM Sprz towa wirtualizacja w Xen i KVM B. G za, T. Rogozik, B. Szreder () Wirtualizacja wspomagana sprz towo 19 listopada 2009 43 / 48 Odpowiedzialny stresstesting