Wprowadzenie do wirtualizacji

Podobne dokumenty
Wprowadzenie do wirtualizacji

Wirtualizacja Wirtualizacja Wprowadzenie Wirtualizacja. Wirtualizacja

Linux -- u mnie działa!

Wirtualizacja. Piotr Sikora Tomasz Ziółkowski

Wirtualizacja. Metody, zastosowania, przykłady

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

Monitor maszyn wirtualnych

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

Wirtualizacje. Opracowali: Piotr Dąbrowiecki Jakub Gołębiowski Winicjusz Szyszka

Systemy Operacyjne Wirtualizacja

Q E M U.

Wirtualizacja wspomagana sprz towo

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

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

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

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

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

Prezentacja emulatora QEMU Zajęcia SO

Praca Dyplomowa Magisterska

Bazy danych. Andrzej Łachwa, UJ, /15

Wirtualizacja w praktyce.

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

Linux VServer - wirtualizacja przez separacj

Wirtualizacja. Paweł Mantur Artur Mączka Tomasz Niedabylski

Subversion - jak dziaªa

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

RHEL 5 wpływ wirtualizacji na koszty

Przepełnienie bufora. SQL Injection Załączenie zewnętrznego kodu XSS. Nabycie uprawnień innego użytkownika/klienta/administratora

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

Analiza wydajno±ci serwera openldap

Podstawy Informatyki i Technologii Informacyjnej

Czym jest wirtualizacja

Programowanie Zespołowe

System wspomagania zarządzania wirtualizacją

Nowe produkty w ofercie Red Hat

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

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

Podstawy modelowania w j zyku UML

Wirtualizacja. Maciej Pawlisz, Konrad Tomala, Paweł Łukasz

Licencjonowanie w środowiskach wirtualnych

VMware. Prezentacja na Systemy Operacyjne

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

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

Wzorce projektowe kreacyjne

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

PARAMETRY TECHNICZNE PRZEDMIOTU ZAMÓWIENIA. Nazwa i adres Wykonawcy: Dostawa infrastruktury do wirtualizacji usług

BitDefender GravityZone Security for Virtualized Environments VS 1ROK

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

Wprowadzenie do sieciowych systemów operacyjnych. Moduł 1

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

Warstwy systemu Windows 2000

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

Utrzymanie aplikacji biznesowych SI PSZ

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

Rozwi zania klasycznych problemów w Rendezvous

Wirtualizacja Systemy operacyjne

Emulacja maszyny. Program udaje zupełnie inną architekturę. Musi przetłumaczyć instrukcje emulowane na instrukcje platformy, na której działa

SVN - wprowadzenie. 1 Wprowadzenie do SVN. 2 U»ywanie SVN. Adam Krechowicz. 16 lutego Podstawowe funkcje. 2.1 Windows

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

Microsoft Management Console

Wpªyw wdro»enia IPv6 na bezpiecze«stwo sieci

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

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

Nowy model subskrypcji, dobór produktów Red Hat i JBoss. Grzegorz Niezgoda

Linux LAMP, czyli Apache, Php i MySQL

Język JAVA podstawy. wykład 1, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Badanie wydajności maszyn wirtualnych

Lab. 02: Algorytm Schrage

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:

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

Pytania i odpowiedzi. Spis treści. Autodesk Revit Autodesk Revit Architecture Autodesk Revit MEP Autodesk Revit Structure Autodesk Revit LT

Lekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz

Architektura komputerów

Bibliografia: pl.wikipedia.org Historia i rodzaje procesorów w firmy Intel

pasja-informatyki.pl

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

Zastosowanie emulatorów w rozbudowie systemów wbudowanych

Lekcja 6 Programowanie - Zaawansowane

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

2.1 INFORMACJE OGÓLNE O SERII NX

PS IMAGO 3.0 /// instrukcja instalacji

Charakterystyka systemów plików

LPAR - logiczne partycjonowanie systemów

Parowanie urządzeń Bluetooth. Instrukcja obsługi

Model obiektu w JavaScript

TABELA PORÓWNAWCZA OFEROWANEGO SPRZĘTU

7. zainstalowane oprogramowanie zarządzane stacje robocze

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego. Opis oferowanego przedmiotu zamówienia

Dystrybucje Linuksa c.d.

SYSTEMY OPERACYJNE WYKŁAD 2 PRZEGLĄD SYSTEMÓW WINDOWS I UNIX

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

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

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące.

Grzegorz Jaśkiewicz Dariusz Stefański

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source

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

LPAR - logiczne partycjonowanie systemów

Transkrypt:

Wprowadzenie do wirtualizacji J. Apelski G. Chimosz S. Kurek Wydziaª Matematyki, Informatyki i Mechaniki 9 listopada 2007

Spis tre±ci 1 2 3 Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie 4 Ciekawostki

Wprowadzenie Zastosowania Co to jest? Warstwa po±rednia interfejsu producent-konsument Abstrakcja zasobów Jeden jako wiele Wiele jako jeden platform Sprz towych emulacja Systemowych zasobów systemowych RAID,NAT,VPN,pami wirtualna......o tym nie mówimy :)

2007-11-15 Wprowadzenie Co to jest? Warstwa po±rednia interfejsu producent-konsument Abstrakcja zasobów Jeden jako wiele Wiele jako jeden platform Sprz towych emulacja Systemowych zasobów systemowych RAID,NAT,VPN,pami wirtualna......o tym nie mówimy :) 1. Wirtualizator stanowi warstw po±redni pomi dzy producentem zasobów (np. pami ci RAM) a konsumentem (np. systemem operacyjnym). Z punktu widzenia konsumenta jest tylko jeden konsument, a z punktu widzenia konsumenta jest tylko jeden producent zasobu. W rzeczywisto±ci dzi ki maszynie wirtualnej mo»e ich by wiele. Maszyna wirtualna jest (zwykle) dla nich transparentna.

Wprowadzenie Zastosowania Poj cia Host,gospodarz Go± Hypervisor, VMM Natywny Go±cinny

Poj cia 2007-11-15 Wprowadzenie Poj cia Host,gospodarz Go± Hypervisor, VMM Natywny Go±cinny 1. System gospodarza to ten, na którym jest uruchomiona maszyna wirtualna. 2. System operacyjny go±cia to ten, który znajduje si wewn trz maszyny. 3. Hypervisor czyli wirtualizator albo monitor maszyny wirtualnej to "hipernadzorca": ten, który stoi nad supervisorem (OSem). 4. Wirtualizator natywny jest uruchamiany bezpo±rednio na sprz cie, a nie w systemie gospodarza. Przykªad Xen. 5. Wi kszo± wirtualizatorów jest go±cinna uruchamiana w systemie gospodarza.

Wprowadzenie Zastosowania Kryteria oceny Czego oczekujemy od wirtualizacji? Kryteria Popka-Goldberga Równowa»no± Kontrola zasobów Wydajno±

Kryteria oceny 2007-11-15 Wprowadzenie Kryteria oceny Czego oczekujemy od wirtualizacji? Kryteria Popka-Goldberga Równowa»no± Kontrola zasobów Wydajno± 1. System go±cia musi dziaªa tak, jak uruchomiony na sprz cie. 2. Hypervisor przydziela i kontroluje zasoby systemowi go±cia i jest w stanie zapewni,»e go± nie wykorzysta»adnych dodatkowych. 3. Nie wymaga si 100% wydajno±ci systemu niewirtualizowanego, ale jakiej± rozs dnej. 4. W praktyce»adne z tych kryteriów nie jest w 100% speªnione.

Wprowadzenie Zastosowania Zastosowania Inne OS, architektury Dost p do aplikacji na ró»ne platformy Testowanie Implementacja systemów operacyjnych Potencjalnie niebezpieczne aplikacje Dydaktyka Szybsze restarty Zapisywanie obrazu serwera Konsolidacja serwerów Wiele serwerów logicznych na jednej maszynie Niski ±redni wspóªczynnik wykorzystania Bezpiecze«stwo Izolacja u»ytkowników Konta shellowe Honey-poty

Zastosowania 2007-11-15 Zastosowania Zastosowania Inne OS, architektury Dost p do aplikacji na ró»ne platformy Testowanie Implementacja systemów operacyjnych Potencjalnie niebezpieczne aplikacje Dydaktyka Szybsze restarty Zapisywanie obrazu serwera Konsolidacja serwerów Wiele serwerów logicznych na jednej maszynie Niski ±redni wspóªczynnik wykorzystania Bezpiecze«stwo Izolacja u»ytkowników Konta shellowe Honey-poty 1. Z kryterium kontroli zasobów wynika po±rednio,»e hypervisor potra zapisa stan maszyny wszystkie wykorzystywane zasoby, wykonywane procesy etc jako plik obrazu (snapshotu, checkpointu). 2. W przypadku awarii zwykle szybciej jest wczyta taki obraz ni» przeprowadzi restart. 3. W wielu rmach ze wzgl dów bezpiecze«stwa oddziela si serwery pocztowe, DHCP etc na oddzielne maszyny mimo,»e nie potrzebuj one 100% ich mocy. U»ycie wirtualizacji jest ta«sze. 4. Honey-pot to maszyna-przyn ta sªu» ca do ªapania nowych wirusów itp.

Architektura x86 Rozszerzenia architektury x86 Ring ( 1)0 3 Problemy z architektur x86 Pierwotna architektura x86 nie speªniaªa kryteriów Popka-Goldberga Bardzo trudno byªo stworzy maszyn wirtualn Stronicowanie, mechanizm zabezpieczenia, segmentacja w zaªo»eniu miaªy by zarz dzane tylko przez jeden system operacyjny Jedynym rozwi zaniem byªo programowe omini cie ró»nych problemów powstaj cych przy wirtualizacji

Architektura x86 Rozszerzenia architektury x86 Ring ( 1)0 3 Problemy z architektur x86 Instrukcje Istniej instrukcje, które pozwalaj na odczytanie rejestrów systemowych w trybie u»ytkownika Nie ma sprz towych mechanizmów wykrywania wszystkich instrukcji, które nie dziaªaj poprawnie w wirtualnym ±rodowisku Nale»y tak przerywa wykonanie kodu (tworzy breakpointy),»eby nadzorca mógª odpowiednio reagowa Modykacje jakich u»yjemy nie mog zosta wykryte przez go±cia

Problemy z architektur x86 2007-11-15 Architektura x86 Problemy z architektur x86 Instrukcje Istniej instrukcje, które pozwalaj na odczytanie rejestrów systemowych w trybie u»ytkownika Nie ma sprz towych mechanizmów wykrywania wszystkich instrukcji, które nie dziaªaj poprawnie w wirtualnym ±rodowisku Nale»y tak przerywa wykonanie kodu (tworzy breakpointy),»eby nadzorca mógª odpowiednio reagowa Modykacje jakich u»yjemy nie mog zosta wykryte przez go±cia 1. (ad.1) Na szcz ±cie nie ma tych instrukcji tak wiele. Niektóre z nich to: LAR, LSL, VERR, VERW, SGDT, SIDT, SLDT, SMSW, STR. Wi cej szczegóªów w artykule pod adresem http://www.oobydust.com/virtualization/lawton_1999.txt 2. (ad.4) W przeciwnym przypadku mogªoby doj± do zmiany sposobu w jaki wykona si program go±cia 3. (ad.4) W praktyce nadzorca musi dziaªa jak nieintruzyjny programowy debugger systemu go±cia

Architektura x86 Rozszerzenia architektury x86 Ring ( 1)0 3 Problemy z architektur x86 Dalsze problemy Nale»y tak ustawi breakpointy,»eby nigdy nie dopu±ci do wykonania kodu, który nie byª jeszcze sprawdzony Trzeba uwa»a na kod, który zagl da do ju» przeskanowanej cz ±ci programu Jeszcze wi kszym problemem jest kod, który modykuje przeskanowan cz ± Istniej sztuczki, dzi ki którym tworzy si stron z kodem wykonywalnym, którego nie mo»na odczyta i zapisa

Problemy z architektur x86 2007-11-15 Architektura x86 Problemy z architektur x86 Dalsze problemy Nale»y tak ustawi breakpointy,»eby nigdy nie dopu±ci do wykonania kodu, który nie byª jeszcze sprawdzony Trzeba uwa»a na kod, który zagl da do ju» przeskanowanej cz ±ci programu Jeszcze wi kszym problemem jest kod, który modykuje przeskanowan cz ± Istniej sztuczki, dzi ki którym tworzy si stron z kodem wykonywalnym, którego nie mo»na odczyta i zapisa 1. (ad.2) Nale»y w takim przypadku ukry nasze modykacje. Mo»na tego dokona poprzez stworzenie niezmodykowanej strony w pami ci, do której b d si odnosiªy odczyty 2. (ad.3) Do± skutecznym obej±ciem problemu jest umieszczenie przeskanowanego kodu w pami ci, na stronie z ag zabezpieczaj c przed zapisem. Wtedy ka»da próba modykacji takiej strony wywoªa przerwanie i nadzorca b dzie mógª zareagowa 3. (ad.4) Sztuczki bazuj na tym,»e w wi kszo±ci procesorów cache tablic TLB dotycz cych instrukcji i danych s odseparowane 4. Naturalnie problemów z wirtualizacj programow na tej architekturze jest znacznie wi cej. Mo»na o nich przeczyta w artykule, do którego link podany jest wy»ej

Architektura x86 Rozszerzenia architektury x86 Ring ( 1)0 3 Rozszerzenia architektury x86 sprz towe rozwi zanie problemu Intel Virtualization Technology (IVT) zwana te» Vanderpool Rozszerzenie architektury x86 o wirtualizacj VT-x - dla 32-bitowych procesorów Intela VT-i - dla procesorów IA-64 (Itanium) AMD virtualization (AMD-V) nazwa wewn trzna Pacica dla 64-bitowych procesorów x86 stworzone równolegle z rozwi zaniem Intela

Rozszerzenia architektury x86 2007-11-15 Rozszerzenia architektury x86 Rozszerzenia architektury x86 sprz towe rozwi zanie problemu Intel Virtualization Technology (IVT) zwana te» Vanderpool Rozszerzenie architektury x86 o wirtualizacj VT-x - dla 32-bitowych procesorów Intela VT-i - dla procesorów IA-64 (Itanium) AMD virtualization (AMD-V) nazwa wewn trzna Pacica dla 64-bitowych procesorów x86 stworzone równolegle z rozwi zaniem Intela 1. Oba rozwi zania powstaªy w latach 2005-2006. Nie s ze sob kompatybilne, ale speªniaj te same funkcje 2. Rozwi zuj problem wirtualizacji poprzez umo»liwienie maszynie wirtualnej na uruchomienie hypervisora. Dzi ki temu mo»na uruchomi niezmodykowany system operacyjny go±cia 3. Na ten moment technologia ta jest uznawana za niedojrzaª. Niektóre badania dowodz,»e jest wolniejsza od wirtualizacji programowej. Zapewne w najbli»szych latach si to zmieni

Architektura x86 Rozszerzenia architektury x86 Ring ( 1)0 3 Ring ( 1)0 3 Hierarchiczne domeny Ringi s zorganizowane w hierarchi. Sprz towe wsparcie dla SO. Tradycyjny podziaª: 0 kernel 1, 2 sterowniki urz dze«, wirtualizacja 3 procesy u»ytkownika Ring -1 jest jednym ze sposobów wirtualizacji SO o zamkni tych ¹ródªach (AMD-V, Intel VT)

Ring ( 1)0 3 2007-11-15 Ring ( 1)0 3 Ring ( 1)0 3 Hierarchiczne domeny Ringi s zorganizowane w hierarchi. Sprz towe wsparcie dla SO. Tradycyjny podziaª: 0 kernel 1, 2 sterowniki urz dze«, wirtualizacja 3 procesy u»ytkownika Ring -1 jest jednym ze sposobów wirtualizacji SO o zamkni tych ¹ródªach (AMD-V, Intel VT) 1. Ring to w pewnym sensie tryb pracy procesora determinuj cy poziom uprawnie«wykonywanego kodu. 2. Ring 0 - najbardziej uprzywilejowany 3. Przej±cia pomi dzy ringami s realizowane np. przez instrukcje (INT), przez przerwania systemowe. 4. Ka»dy Ring zawiera ten o mniejszym numerze, tzn. w naturalny sposób mo»e wykonywa w nim kod wymagaj cy mniejszych praw ni» dost pne. 5. Hypervisor mo»e korzysta z Ring -1, a Go± w Ring 0, co pozwala go nie modykowa, wymaga to jednak odpowiedniego procesora. 6. Na podstawie: http://en.wikipedia.org/wiki/ring_(computer_security)

Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie Mo»liwe jest kilka ró»nych podej± do wirtualizacji. Poszczególne rodzaje ró»ni si : Mo»liwo±ciami Wydajno±ci W praktyce: zastosowaniem

Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie Parawirtualizacja systemów operacyjnych Emulacja Emulacja API Specyczny przypadek: UML

Wprowadzenie Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie peªna, wªa±ciwa... natywna - przy wsparciu sprz towym Symulacja wszystkich elementów sprz tu Ta sama architektura! Dowolne programy i (teoretycznie) systemy operacyjne Problem: przechwytywanie niebezpiecznych instrukcji Puªapka i symulacja

2007-11-15 Wprowadzenie peªna, wªa±ciwa... natywna - przy wsparciu sprz towym Symulacja wszystkich elementów sprz tu Ta sama architektura! Dowolne programy i (teoretycznie) systemy operacyjne Problem: przechwytywanie niebezpiecznych instrukcji Puªapka i symulacja 1. Technika wirtualizacji peªnej stara si uruchamia mo»liwie du»o kodu go±cia bezpo±rednio na procesorze. Musi jedynie identykowa instrukcje niebezpieczne oraz (zwykle) funkcje j dra i je emulowa. Wi»e si to ze znacznym wzrostem efektywno±ci w stosunku do emulacji caªego sprz tu. 2. Wzrost wydajno±ci ma swoj cen - systemy go±cia i gospodarza musz pracowa na tej samej architekturze (z oczywistych wzgl dów).

Przykªady Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie Virtual PC VMWare Workstation QEMU (+ kqemu) Virtual Box

Microsoft Virtual PC Przedstawienie Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie Oryginalny producent - Connectix Pierwsze wydanie - czerwiec 1997 Pocz tkowo emulator x86 dla Mac-ów na PowerPC Pierwsza wersja na MS Windows: czerwiec 2001 Przej cie przez Microsoft w lutym 2003 Platforma docelowa: MS Windows...oraz Mac OS na PowerPC Darmowy od lipca 2006

Microsoft Virtual PC 2007-11-15 Microsoft Virtual PC Przedstawienie Oryginalny producent - Connectix Pierwsze wydanie - czerwiec 1997 Pocz tkowo emulator x86 dla Mac-ów na PowerPC Pierwsza wersja na MS Windows: czerwiec 2001 Przej cie przez Microsoft w lutym 2003 Platforma docelowa: MS Windows...oraz Mac OS na PowerPC Darmowy od lipca 2006 1. Virtual PC dla Mac OS jest emulatorem x86 na procesory PowerPC. 08.06 MS ogªosiª,»e nie b dzie wypuszczaª wersji dla procesorów x86; Macow na PowerPC sie juz nie produkuje, wi c ten segment rynku jest przej ty prawie caªkowicie przez nowocze±niejszy Parallels Desktop.

Microsoft Virtual PC Mo»liwo±ci Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie Wersja dla x86 Zasada dziaªania - peªna wirtualizacja Wersja 2007 - wykorzystuje AMD-V i IVT Wsparcie dla sieci, nap dów CD/DVD, d¹wi ku, drukarek... Virtual Machine Additions - dla systemów Microsoftu M.in. zwi kszenie wydajno±ci, wsparcie dla akceleracji 3D. Zapisywanie obrazu maszyny Wydajno± - prawie natywna Wersja dla PowerPC Emulator x86 dla Mac OS X Bardzo niska wydajno± Praktycznie za»egnany

Microsoft Virtual PC 2007-11-15 Microsoft Virtual PC Mo»liwo±ci Wersja dla x86 Zasada dziaªania - peªna wirtualizacja Wersja 2007 - wykorzystuje AMD-V i IVT Wsparcie dla sieci, nap dów CD/DVD, d¹wi ku, drukarek... Virtual Machine Additions - dla systemów Microsoftu M.in. zwi kszenie wydajno±ci, wsparcie dla akceleracji 3D. Zapisywanie obrazu maszyny Wydajno± - prawie natywna Wersja dla PowerPC Emulator x86 dla Mac OS X Bardzo niska wydajno± Praktycznie za»egnany 1. VMA to sterowniki instalowane w systemie go±cia znacz co wpªywaj ce na polepszenie wydajno±ci i funkcjonalno±ci.

Microsoft Virtual PC Systemy Go±cia Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie Obsªuguje: DOS Windows 3.1 - Vista OS/2 Linux - modykowany lub ograniczony Mac OS X - zabrania licencja, dodatkowo mechanizmy anty-pirackie Zastosowania: Hobbistyczne - prosty i darmowy Dydaktyka Development

VMWare Workstation Przedstawienie Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie Producent: VMWare VMWare Server VMWare Fusion Pierwsze wydanie - 1999 Platformy docelowe: Windows i Linux 30-dniowy darmowy okres próbny VMWare Player - darmowy Nie tworzy obrazów, jedynie uruchamia Mo»na je ±ci gn z Internetu Troch gorsza wydajno±, brak SMP

VMWare Workstation 2007-11-15 VMWare Workstation Przedstawienie Producent: VMWare VMWare Server VMWare Fusion Pierwsze wydanie - 1999 Platformy docelowe: Windows i Linux 30-dniowy darmowy okres próbny VMWare Player - darmowy Nie tworzy obrazów, jedynie uruchamia Mo»na je ±ci gn z Internetu Troch gorsza wydajno±, brak SMP 1. VMWare Workstation jest najbardziej rozbudowanym produktem w tej rodzinie. VMWare Server (z odrobin mniejszymi mo»liwo±ciami, bardziej pod k tem zastosowa«serwerowych) jest dost pny caªkowicie za darmo. VMWare Fusion to wersja dla Mac OS.

VMWare Workstation Mo»liwo±ci Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie Zasadniczo platforma wirtualizacyjna Od wersji 6.0 - eksperymentalne wsparcie dla parawirtualizacji Otwarty protokóª VMI, wª czony do j dra 2.6.21 Rozbudowana funkcjonalno± Praktycznie wszystkie urz dzenia peryferyjne Zarz dzanie snapshotami Rozbudowane wsparcie dla sieci Uªatwione administrowanie Szyfrowanie Wydajno± - prawie natywna

VMWare Workstation 2007-11-15 VMWare Workstation Mo»liwo±ci Zasadniczo platforma wirtualizacyjna Od wersji 6.0 - eksperymentalne wsparcie dla parawirtualizacji Otwarty protokóª VMI, wª czony do j dra 2.6.21 Rozbudowana funkcjonalno± Praktycznie wszystkie urz dzenia peryferyjne Zarz dzanie snapshotami Rozbudowane wsparcie dla sieci Uªatwione administrowanie Szyfrowanie Wydajno± - prawie natywna 1. Protokóª VMI Virtual Machine Interface zostaª opracowany jako otwarty projekt wspólnie ze ±rodowiskiem Linuksowym.

VMWare Workstation Systemy Go±cia Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie Obsªuguje: DOS Windows Linux FreeBSD Netware Solaris Broadest Host & Guest Operating System Support Starsze wersje miewaj problemy z nowymi j drami

VMWare Workstation Zastosowania Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie Produkcja i testowanie oprogramowania Demonstracje produktów u klienta Równie» dydaktyka

VMWare Workstation 2007-11-15 VMWare Workstation Zastosowania Produkcja i testowanie oprogramowania Demonstracje produktów u klienta Równie» dydaktyka 1. Marketerzy VMWare twierdz,»e mo»liwo± pokazania gotowego i w peªni dziaªaj cego systemu u klienta zwi ksza szans sprzedania go o X%... :)

QEMU z kqemu w systemie Hosta Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie QEMU bez kqemu - dynamiczna rekompilacja Moduª j dra KQEMU - akcelerator dla x86 Kod u»ytkownika uruchamiany w procesorze, emulacja tylko kodu j dra Dla wi kszo±ci aplikacji: wzrost wydajno±ci z 10%-20% do 80%-90% pr dko±ci natywnej Nadal brak sterowników dla systemu Go±cia - aplikacje multimedialne kulej Istniej porty na FreeBSD i Windows

VirtualBox Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie Oryginalny producent - InnoTek Stycze«2007 - VirtualBox Open Source Edition Wersja pªatna - do darmowego u»ytku dla celów niekomercyjnych Zasada dziaªania: W miar mo»liwo±ci wirtualizuje kod go±cia Kod uprzywilejowany Go±cia uruchamiany w ring 1 W razie potrzeb dokonuje dynamicznej rekompilacji - na bazie rekompilatora QEMU Wsparcie dla IVT, eksperymentalne wsparcie dla AMD-V Elastyczny

Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie Dostosowanie Go±cia do wirtualizacji Zamiast emulowa sprz t, lepiej dostarczy API hypercall...najlepiej mie wsparcie w procesorze ;)

Dostosowanie Go±cia do wirtualizacji 2007-11-15 Parawirtualizacja Dostosowanie Go±cia do wirtualizacji Zamiast emulowa sprz t, lepiej dostarczy API hypercall...najlepiej mie wsparcie w procesorze ;) 1. Go±, zamiast wykonywa syscalle, wykonuje hypercalle obsªugiwane przez Hosta. 2. Pierwszym ±lad tej techniki to mechanizm DIAG w IBM'owskich mainframe-ach z lat '60. Twórcom przy±wiecaªa ch efektywniejszego wykorzystania czasu procesora przez wielu u»ytkowników. 3. Przy pomocy rozwi za«sprz towych (AMD-V, Intel VT) mo»na bardzo ªatwo przekazywa sterowanie do hypervisora, bez konieczno±ci np. dodatkowego ±ledzenia wirtualizowanego kodu.

Parallels Desktop for Mac Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie Wymaga MacOS X, wspiera w peªni Intel VT VirtualPC for Mac protoplasta, obecnie porzucony Zaawansowane wspóªdzielenie plików pomi dzy Hostem a Go±ciem Snapshoty DirectX z Wine Ocjalnie wspierane systemy Go±cia: Windows 3.1 - Vista Linux (SUSE, Red Hat, Debian, Fedora Core, Mandriva, Xandros) FreeBSD, OpenBSD 3.8 OS/2, ecomstation Solaris MS-DOS

Parallels Desktop for Mac 2007-11-15 Parawirtualizacja Parallels Desktop for Mac Wymaga MacOS X, wspiera w peªni Intel VT VirtualPC for Mac protoplasta, obecnie porzucony Zaawansowane wspóªdzielenie plików pomi dzy Hostem a Go±ciem Snapshoty DirectX z Wine Ocjalnie wspierane systemy Go±cia: Windows 3.1 - Vista Linux (SUSE, Red Hat, Debian, Fedora Core, Mandriva, Xandros) FreeBSD, OpenBSD 3.8 OS/2, ecomstation Solaris MS-DOS 1. PD jest w zasadzie przeniesieniem koncepcji emulatora VPC do obecnej sytuacji w ±wiecie Maca, zapewnia u»ytkownikom Maców dost p do oprogramowania (w tym gier Windowsowych). Dzi ki temu,»e Apple wyposa»a swoje komputery w Intelowskie Core znikn ªa potrzeba emulacji szerszego zestawu instrukcji (x86 na PPC) 2. Mo»na bardzo wygodnie przenosi pliki pomi dzy systemami, podczas dziaªania VM. 3. Mo»na zapisywa stan VM i potem go wznowi, np. gdy potrzebujemy mocy Maca, a nie mo»emy przerwa dziaªania programu na VM. 4. Parallels Inc. wykorzystaªo implementacj DirectX z Wine,»eby mie obsªug i akceleracj 3D na emulowanej maszynie, ale nie opublikowaªo od razu zmienionych kodów ¹ródªowych, co narusza GPL (Wine). Po protestach ze strony ±rodowiska GNU po ponad tygodniu pojawiªy si zmodykowane ¹ródªa.

XEN Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie Ian Pratt, University of Cambridge, 2003 Wspiera IA-32, x86-64, IA-64 oraz PowerPC Host Linux lub NetBSD (zmodykowane) Go± ró»ne systemy unixowe (modykowane); Windows (od Xen 3.0) Wolny (free), ale istnieje komercyjna implementacja: Citrix XenServer Enterprise Edition Novell SUSE 10, Red Hat's RHEL 5/Fedora 7, Sun Microsystems Solaris 10, Debian Etch, Ubuntu 6.10

XEN 2007-11-15 Parawirtualizacja XEN Ian Pratt, University of Cambridge, 2003 Wspiera IA-32, x86-64, IA-64 oraz PowerPC Host Linux lub NetBSD (zmodykowane) Go± ró»ne systemy unixowe (modykowane); Windows (od Xen 3.0) Wolny (free), ale istnieje komercyjna implementacja: Citrix XenServer Enterprise Edition Novell SUSE 10, Red Hat's RHEL 5/Fedora 7, Sun Microsystems Solaris 10, Debian Etch, Ubuntu 6.10 1. Citrix to komercyjna implementacja Xen, kosztuje od ok. $1600; jest rozprowadzana przez Della oraz HP wraz z ich serwerami. 2. Wymienione dystrybucje Linuksa oraz Solaris zawieraj Xen w standardzie; do innych mo»na go wzgl dnie ªatwo zainstalowa. 3. W Xenie wyst puje poj cie domeny jest to w uproszczeniu wirtualna maszyna, na której dziaªa OS, przy czym mo»e by tylko jedna domena dom0 hypervisor oraz wiele zarz dzanych przez niego domen Go±cia - domu. 4. Gdy procesor nie wspiera wirtualizacji dom0 dziaªa w ringu 0, a domu w ringu 1. 5. Gdy mamy wsparcie w procesorze Xen dom0 dziaªa w ringach 0-3 i korzysta z prawdziwego sprz tu, domu dziaªaj w ringach 0-3, ale jej (domu) sprz t jest tylko zasobem dom0.

XEN wspierane systemy Go±cia Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie Linux 2.6.23+, patche dla wcze±niejszych Minix Plan 9 from Bell Labs NetBSD 2.0+ OpenBSD FreeBSD OpenSolaris NetWare GNU/Hurd/Mach (gnumach-1-branch-xen-branch) OZONE (Xen v1.2) oraz Windows XP :)

XEN 2007-11-15 Parawirtualizacja XEN wspierane systemy Go±cia Linux 2.6.23+, patche dla wcze±niejszych Minix Plan 9 from Bell Labs NetBSD 2.0+ OpenBSD FreeBSD OpenSolaris NetWare GNU/Hurd/Mach (gnumach-1-branch-xen-branch) OZONE (Xen v1.2) oraz Windows XP :) 1. Linux od wersji 2.6.23 zawiera wsparcie dla Xen wª czone do gªównego drzewa, wcze±niejsze trzeba ªata. 2. Uruchomienie WXP wymaga wsparcia w sprz cie oraz Xen 3.0; ciekawe, czy kto± podj ªby si przerobienia W2k (¹ródªa wyciekªy swego czasu... ). 3. Powstaª port WXP na Xen w ramach bada«naukowych, ale licencja zabrania jego rozpowszechniania. 4. Windows 2008 ma zawiera peªne wsparcie dla Xena, ale te inforamcje nie s do ko«ca ocjalne, poza tym MS nie zawsze dotrzymuje danego sªowa.

XEN Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie Zalety: Wady: Szybko± Przemieszczanie domeny w locie (60-300 ms) Konieczno± modykowania j dra go±cia lub posiadania odpowiedniego procesora Skomplikowany system Do± trudna instalacja (w porównaniu do UML czy VirtualPC)

XEN 2007-11-15 Parawirtualizacja XEN Zalety: Szybko± Przemieszczanie domeny w locie (60-300 ms) Wady: Konieczno± modykowania j dra go±cia lub posiadania odpowiedniego procesora Skomplikowany system Do± trudna instalacja (w porównaniu do UML czy VirtualPC) 1. Xen jest bardzo szybki, zwªaszcza na tle innych rozwi za«tej klasy, nieznacznie wolniejszy ni» natywny system; zdobywa dzi ki temu popularno±. 2. Dziaªaj c domen Xena mo»na przenie± na inny komputer w sieci LAN, RAM jest przenoszony iteracyjnie podczas dziaªania. Gdy wszystko jest skopiowane potrzeba 60-300 ms na przeª czenie wykonania na drug maszyn ; z zewn trz wygl da to jakby nie byªo»adnej przerwy w dziaªaniu np. serwera bazy danych. 3. Funkcjonalno± i szybko± Xena sprawia,»e jest stosunkowo trudny i poznanie go zajmuje do± du»o czasu. 4. Inaczej ni» w przypadku UML czy VPC trzeba ±ci gn wi cej plików, pozna organizacj, sposób tworzenia i zarz dzania domenami (cho np. w Suse graczny kongurator Yast za to odpowiada, nie jest wi c tak ¹le, sama instalacja jest te» bezproblemowa na Suse), spachowa Hosta, system go±cia, kompilowa j dra ze ¹ródeª...

OS Wst p Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie Szybsze ni» inne rodzaje wirtualizacji Wiele instancji tego samego systemu operacyjnego Wszystkie instancje pracuj na tym samym j drze Wygodne do testowania nowego oprogramowania Zwi ksza bezpiecze«stwo pracy dzi ki odizolowaniu ró»nych cz ±ci systemu

OS 2007-11-15 OS OS Wst p Szybsze ni» inne rodzaje wirtualizacji Wiele instancji tego samego systemu operacyjnego Wszystkie instancje pracuj na tym samym j drze Wygodne do testowania nowego oprogramowania Zwi ksza bezpiecze«stwo pracy dzi ki odizolowaniu ró»nych cz ±ci systemu 1. (ad.3) Jedynie j dro systemu jest wsz dzie takie samo. Biblioteki, oprogramowanie etc. mog by inne w ka»dym VE 2. (ad.3) W szczególno±ci w przypadku Linuksa mo»liwe jest uruchomienie ró»nych dystrybucji, oczywi±cie na tym samym j drze 3. (ad.4) Mo»na stworzy obraz VE, zainstalowa nowe oprogramowanie i sprawdzi jak si zachowa 4. (ad.5) Mo»na podzieli serwer na kilka wirtualnych ±rodowisk. Zdobycie roota w jednym z nich nie pozwoli na przej cie kontroli nad pozostaªymi.

OpenVZ Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie Tworzy wirtualne ±rodowiska (VE) Obsªuguje Linuksa VE jest tylko 1-3% wolniejsze Checkpoint - mo»liwo± przeniesienia VE na inny serwer bez potrzeby restartu obsªuguje do 64 procesorów i 64 GB pami ci RAM Pojedyncze VE mo»na przeskalowa tak, by wykorzystywaªo wszystkie zasoby komputera

OpenVZ 2007-11-15 OS OpenVZ Tworzy wirtualne ±rodowiska (VE) Obsªuguje Linuksa VE jest tylko 1-3% wolniejsze Checkpoint - mo»liwo± przeniesienia VE na inny serwer bez potrzeby restartu obsªuguje do 64 procesorów i 64 GB pami ci RAM Pojedyncze VE mo»na przeskalowa tak, by wykorzystywaªo wszystkie zasoby komputera 1. (ad.4) Checkpoint to zapisany stan VE

Virtuozzo Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie Stworzony przez SWsoft Oparty na OpenVZ Jedno wspólne j dro Obsªuguje Linuksa od 2001, Windows od 2005 Wikipedia twierdzi,»e jest to jedyny program tego typu obsªuguj cy Windows Pozwala uruchomi setki VE zachowuj c funkcjonalno± serwera Mo»na przekierowa zasoby do ró»nych VE bez konieczno±ci restartu Zawiera narz dzia do zarz dzania wieloma VE naraz

Virtuozzo 2007-11-15 OS Virtuozzo Stworzony przez SWsoft Oparty na OpenVZ Jedno wspólne j dro Obsªuguje Linuksa od 2001, Windows od 2005 Wikipedia twierdzi,»e jest to jedyny program tego typu obsªuguj cy Windows Pozwala uruchomi setki VE zachowuj c funkcjonalno± serwera Mo»na przekierowa zasoby do ró»nych VE bez konieczno±ci restartu Zawiera narz dzia do zarz dzania wieloma VE naraz 1. (ad.1) Jest to produkt komercyjny 2. (ad.4) Wersja dla Linuksa dost pna jest z licencj GNU General Public License

FreeBSD Jail na FreeSBD Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie Mechanizm wirtualizacji na poziomie OS dla FreeBSD Pozwala administratorowi podzieli system na niezale»ne podsystemy - Jaile Ka»dy Jail to VE - posiada wªasne pliki, procesy, u»ytkowników i zasoby sieciowe Jaile s od siebie odseparowane, co zapewnia bezpiecze«stwo Root Jaila nie ma dost pu do caªego systemu

Emulacja Wst p Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie Peªne emulowanie innej maszyny Zapewnia najwi ksz przeno±no± Du»y spadek wydajno±ci

Emulacja 2007-11-15 Emulacja Emulacja Wst p Peªne emulowanie innej maszyny Zapewnia najwi ksz przeno±no± Du»y spadek wydajno±ci 1. (ad.1) Peªne emulowanie, czyli symulowanie dziaªania procesora, pami ci i ró»nych urz dze«wej±cia/wyj±cia 2. (ad.2) Poniewa» nie korzystamy (zazwyczaj) ze wsparcia sprz towego maszyny hosta, to emulator ªatwo da si przenie± na inn maszyn 3. (ad.3) Konieczno± emulowania wszystkich instrukcji docelowego procesora jak i innych elementów komputera znacz co zmniejsza szybko± dziaªania emulatora

Bochs Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie Emulator PC klasy x86 i amd64 Kevin Lawton Pierwotnie program komercyjny Popularny w±ród twórców systemów operacyjnych Emuluje wszystkie elementy komputera Istniej wersje pod Windows, Linuksa oraz Mac OS X

Bochs 2007-11-15 Emulacja Bochs Emulator PC klasy x86 i amd64 Kevin Lawton Pierwotnie program komercyjny Popularny w±ród twórców systemów operacyjnych Emuluje wszystkie elementy komputera Istniej wersje pod Windows, Linuksa oraz Mac OS X 1. (ad.3) W 2000 roku Mandrakesoft (Mandriva) wykupiª program i wypu±ciª wersj dla Linuksa z licencj LGPL 2. (ad.4) Bochs jest preferowany przez twórców systemów operacyjnych, gdy» posiada raportowanie i zrzuty plików, których brakuje w innych emulatorach 3. (ad.5) Jak wi kszo± emulatorów nie posiada mo»liwo±ci wirtualizacji procesora

DOSBox Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie Emulator PC klasy x86 Open source Tworzy ±rodowisko DOS-owe Przeznaczony gªównie do uruchamiania starych gier Wersje pod Linuksa, OpenBSD, FreeBSD, Windows, Mac OS X, OS/2, Palm OS, RISC OS oraz BeOS

DOSBox 2007-11-15 Emulacja DOSBox Emulator PC klasy x86 Open source Tworzy ±rodowisko DOS-owe Przeznaczony gªównie do uruchamiania starych gier Wersje pod Linuksa, OpenBSD, FreeBSD, Windows, Mac OS X, OS/2, Palm OS, RISC OS oraz BeOS 1. (ad.1) Emulowana maszyna dziaªa z szybko±ci okoªo 10% 2. (ad.4) Na stronie DOSBoxa zamieszczona jest lista obsªugiwanych gier 3. (ad.4) Niektórzy producenci wypuszczaj paczki z DosBoxem i star dosow gr - np. idsoftware zrobiª to z Wolfensteinem 3D

QEMU bez kqemu w systemie Hosta Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie Fabrice Bellard Bez kqemu mo»e pracowa w trybie peªnej emulacji Pozwala emulowa komputer klasy x86, amd64, alpha, mips oraz sparc Emuluje procesor jak i inne podzespoªy docelowej maszyny Mo»e sªu»y do uruchomienia wielu wirtualnych komputerów ró»nego typu na jednym komputerze Dynamiczna translacja przyspiesza szybko± emulacji Wersje pod Linuksa, Windows, Mac OS X oraz OpenSolaris

QEMU 2007-11-15 Emulacja QEMU bez kqemu w systemie Hosta Fabrice Bellard Bez kqemu mo»e pracowa w trybie peªnej emulacji Pozwala emulowa komputer klasy x86, amd64, alpha, mips oraz sparc Emuluje procesor jak i inne podzespoªy docelowej maszyny Mo»e sªu»y do uruchomienia wielu wirtualnych komputerów ró»nego typu na jednym komputerze Dynamiczna translacja przyspiesza szybko± emulacji Wersje pod Linuksa, Windows, Mac OS X oraz OpenSolaris 1. (ad.3) Dzi ki peªnej emulacji nie ma potrzeby modykacji systemu operacyjnego go±cia

Wine Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie Wine Is Not an Emulator Bob Amstadt i Eric Youngdale Zamiast emulowa, Wine zapewnia interfejs, którym mo»na zast pi j dro Windows Z maªymi problemami uruchamia wi kszo± oprogramowania Posiada odpowiedniki wi kszo±ci bibliotek dll Moduª Direct3D jest ci gle rozwijany (np. dodawana jest obsªuga Pixel Shaderów) Mo»e u»ywa oryginalnych bibliotek dll Microsoftu Napisany na Linuksa, ale s te» wersja dla Mac OS X, FreeBSD oraz Solarisa

Wine 2007-11-15 Emulacja API Wine Wine Is Not an Emulator Bob Amstadt i Eric Youngdale Zamiast emulowa, Wine zapewnia interfejs, którym mo»na zast pi j dro Windows Z maªymi problemami uruchamia wi kszo± oprogramowania Posiada odpowiedniki wi kszo±ci bibliotek dll Moduª Direct3D jest ci gle rozwijany (np. dodawana jest obsªuga Pixel Shaderów) Mo»e u»ywa oryginalnych bibliotek dll Microsoftu Napisany na Linuksa, ale s te» wersja dla Mac OS X, FreeBSD oraz Solarisa 1. (ad.1) Rekurencyjny akronim uwidacznia cz sto pomijany szczegóª - Wine nie jest emulatorem. Pozwala jedynie uruchamia aplikacje przeznaczone na Windows pod Linuksem 2. (ad.2) Projekt Wine powstaª w 1993 jako mechanizm uruchamiania windowsowych aplikacji pod Linuksem. Pierwotnie kierowany byª do aplikacji 16-bitowych (Win 3.x), ale obecnie obsªuguje przede wszystkim 32-bitowe 3. (ad.2) Wersja beta zostaªa wydana dopiero w 2005 roku 4. (ad.2) Wine zostaª wydany z licencj LGPL 5. (ad.4) Niektóre programy oczywi±cie uruchamiaj si bez problemów, inne za± wcale 6. (ad.7) Korzystanie z natywnych bibliotek dll doª czonych do Windows wymaga oczywi±cie posiadania na niego licencji

UML Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie Je Dike, Paolo Giarrusso (aka BlaisorBlade), Bill Stearns user-mode-linux.sourceforge.net (w przebudowie) umlwin32.sourceforge.net Pierwotnie na x86, porty na IA-64, AMD64, PowerPC

UML 2007-11-15 User Mode Linux UML Je Dike, Paolo Giarrusso (aka BlaisorBlade), Bill Stearns user-mode-linux.sourceforge.net (w przebudowie) umlwin32.sourceforge.net Pierwotnie na x86, porty na IA-64, AMD64, PowerPC 1. J. Dike jest twórc, P. G. oraz B. S. maj bardzo du»y wpªyw, s w zasadzie wspóªautorami. 2. User Mode Linux opiera si na pomy±le uruchomienia zmodykowanego j dra Linuksa jako zwykªego procesu u»ytkownika. Takie j dro in userspace korzysta z wydzielonego obrazu partycji (najcz ±ciej zapisanego w pliku na partycjach Hosta). 3. Powstaªa implementacja(próba) UML na Windows, tzn. j dro linuksowe uruchomione jako proces Windows, ale korzystaªa z Cygwina do implementacji funkcjonalno±ci; chªopaki chcieli to przepisa tak, by korzystaªo z WinAPI, ale szybko zrezygnowali i od 2002 projekt nie jest rozwijany.

UML zastosowania Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie Serwery wirtualne (linode.com, od $19.95 / miesi c; linuxzoo.net) Wirtualne sieci (z wyj±ciem na ±wiat) (www.netkit.org) (VNUML) X poprzez sie mog wy±wietla si na ho±cie honey-pot debugowanie j dra

UML 2007-11-15 User Mode Linux UML zastosowania Serwery wirtualne (linode.com, od $19.95 / miesi c; linuxzoo.net) Wirtualne sieci (z wyj±ciem na ±wiat) (www.netkit.org) (VNUML) X poprzez sie mog wy±wietla si na ho±cie honey-pot debugowanie j dra 1. Na linode.com mo»na dosta konto z uprawnieniami roota, dost pnych jest kilka najpopularniejszych dystrybucji do wyboru. 2. linuxzoo.net oferuje darmowy dost p do konta shellowego dla tych, którzy chc si uczy administrowania Linuksem, ale oni maj kilka komputerów z kilkunastoma maszynami wirtualnymi; jest quota na czas pracy; ale jak zajrzaªem na t stron, to tylko 2 maszyny byªy zaj te. 3. Za pomoc UML i netkit.org mo»na zbudowa wirtualn sie i testowa programy sieciowe, taka sie mo»e mie wyj±cie na ±wiat, ale konguracja tego jest nietrywialna, zwªaszcza po stronie Hosta (instalacja dodatkowych sterowników i narz dzi). 4. Istnieje te» inne rozwi zanie Virtual Network User Mode Linux oferuj ce podobne mo»liwo±ci. 5. UML jest w sam raz do testowania 2. i 3. zadania z SO-Lab.

UML dlaczego UML? Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie Zalety: Wady: qemu szybko± Xen, VMWare ESX prostota (instalacja, koncepcja) hostfs banalnie ªatwy dost p do plików hosta krówki (pliki Copy On Write) MADV_REMOVE nale»y wkrótce oczekiwa wparcia hotplug pami ci w UML szybko±

UML 2007-11-15 User Mode Linux UML dlaczego UML? Zalety: qemu szybko± Xen, VMWare ESX prostota (instalacja, koncepcja) hostfs banalnie ªatwy dost p do plików hosta krówki (pliki Copy On Write) MADV_REMOVE nale»y wkrótce oczekiwa wparcia hotplug pami ci w UML Wady: szybko± 1. UML jest szybszy ni» qemu (bez kqemu) i innych emulatorów. 2. Instalacja UML jest banalnie prosta: wystarczy pobra plik z j drem skompilowanym do architektury UML, obraz systemu plików i ju» mo»na u»ywa UML, jedynie usieciowienie wymaga wi cej pracy. 3. Host nie wymaga modykacji, chyba,»e chcemy naªo»y ªatki SKAS, o czym dalej. 4. UML dziaªa w bardzo prosty sposób wywoªania systemowe przekazuje do Hosta, co jest mniej skomplikowane ni» domeny Xena. 5. Poniewa» UML dziaªa jako proces(y) na Ho±cie, mo»na je kontrolowa za pomoc standardowych narz dzi (top, ps, itp.) 6. UML# mount none /host -t hostfs -o /home/user montuje hostowy /home/user do /host na UML 7. UML oferuje pliki Copy On Write (cow), które pozwalaj wspóªdzieli jeden obraz systemu plików pomi dzy wiele instancji UML; z moich eksperymentów wynika,»e si nie opªaca, bo pliki cow s wi ksze ni» sam obraz...

Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie PTRACE_SYSEMU vs. PTRACE_SYSCALL test bez SYSEMU z SYSEMU zysk getpid real 6m16.461s real 3m55.052s 60% 10.000.000 user 0m5.077s user 0m5.962s sys 0m58.462s sys 0m46.385s MySQL real 18m38.329s real 13m57.353s 33% run-all-tests user 2m37.370s user 2m17.370s sys 6m3.040s sys 3m54.310s make real 13m35.457s real 13m5.980s 4% bzimage user 4m18.885s user 4m18.096s modules sys 1m40.481s sys 1m40.115s Na podstawie: sysemu.sourceforge.net

PTRACE_SYSEMU vs. PTRACE_SYSCALL 2007-11-15 User Mode Linux PTRACE_SYSEMU vs. PTRACE_SYSCALL test bez SYSEMU z SYSEMU zysk getpid real 6m16.461s real 3m55.052s 60% 10.000.000 user 0m5.077s user 0m5.962s sys 0m58.462s sys 0m46.385s MySQL real 18m38.329s real 13m57.353s 33% run-all-tests user 2m37.370s user 2m17.370s sys 6m3.040s sys 3m54.310s make real 13m35.457s real 13m5.980s 4% bzimage user 4m18.885s user 4m18.096s modules sys 1m40.481s sys 1m40.115s Na podstawie: sysemu.sourceforge.net 1. UML wykorzystuje ptrace() z ag SYSCALL do monitorowania wywoªa«systemowych, ten sposób jednak ma wady UML podmienia syscalla na wywoªanie getpid() a nast pnie wykonuje wªa±ciw funkcj i podstawia jej wynik, co jest nieopªacalne; dlatego te» napisano ªatk SYSEMU. 2. ptrace() z PTRACE_SYSEMU nie wywoªuje zb dnego syscalla (tego z getpidem()). 3. Zyski przedstawione na stronie s naci gane (liczone na podstawie realtime), ale i tak jest nie¹le. 4. getpid() natywnie: niecaªe r:8, u:4, s:4[s].

SKAS Separate Kernel Address Space Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie W waniliowym Linuksie 2.6.0+ SKAS1 SKAS3 v8.2 dla Linuksa 2.6.20- Szybciej i bezpieczniej ni» z Traced Thread [...]kernel build is almost twice as fast with skas mode as with tt mode, and is within 30% of the host's time. Bill Stearns saw a script's running time drop from 50 seconds to 14 seconds, almost a quadrupling in speed. It's SMP-safe, and it's running stably on SMP hosts.

SKAS 2007-11-15 User Mode Linux SKAS Separate Kernel Address Space W waniliowym Linuksie 2.6.0+ SKAS1 SKAS3 v8.2 dla Linuksa 2.6.20- Szybciej i bezpieczniej ni» z Traced Thread [...]kernel build is almost twice as fast with skas mode as with tt mode, and is within 30% of the host's time. Bill Stearns saw a script's running time drop from 50 seconds to 14 seconds, almost a quadrupling in speed. It's SMP-safe, and it's running stably on SMP hosts. 1. W TT procesy UML i j dro UML wspóªdziel t sam przestrze«adresow mog uzyska niebezpiecznie du»e uprawnienia, w skrajnych przypadkach wydosta si poza UML do hosta 2. TT: ka»dy proces UML jest odwzorowywany na proces Hosta Tracing Thread ±ledzi ich syscalle i przekierowuje do j dra UML; wykorzystuje w tym celu powolne sygnaªy 3. SKAS: UML kernel thread na ho±cie UML userspace (procesy UML) 2 procesy odpowiadaj ce za operacje wej±cia-wyj±cia W sumie 4 procesy hosta per UML

Porównanie wirtualizatorów cz ± 1 Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie Rodzaj Przykªad Zgodno± Wydajno± Emulacja Bochs Brak 2 Wirt. peªna VMWare Architektura 3-4 Parawirt. Xen Hypercall-e 4+ Wirt. OS OpenVZ J dro 4-5 UML UML :) J dro 3- UML+SKAS J dro 4+ Emulacja API Wine Architektura 4-5 Skala ocen od 1 (najgorzej) do 5 (najlepiej).

Porównanie wirtualizatorów cz ± 2 Parawirtualizacja OS Emulacja Emulacja API User Mode Linux Porównanie Rodzaj Przykªad Równowa»no± Bezpiecze«stwo Emulacja Bochs 5 5 Wirt. peªna VMWare 4+ 5 Parawirt. Xen 4+ 5 Wirt. OS OpenVZ 4+ 4+ UML UML :) 4+ 4- UML+SKAS 4+ 5 Emulacja API Wine Ile napisz :) 3 Skala ocen od 1 (najgorzej) do 5 (najlepiej).

Transmeta Blue Pill lguest Transmeta Crusoe i Eceon Procesor Very Long Instruction Word Intel Itanium (core: Merced) Pora»ka biznesowa Morng kodu (programowy ale zrealizowany w krzemie) Mo»na zmieni mikrokod ju» po wyprodukowaniu ukªadu Tªumaczenie instrukcji odbywa si tylko raz; p tle i odwoªania do tego samego fragmentu kodu s pobierane w postaci rozkazów VLIW z pami ci cache Optymalizacja tªumaczonego kodu (usuwanie zb dnych instrukcji!) Torvalds i inne sªawy miaªy swój wkªad w projekt...

Transmeta 2007-11-15 Transmeta Transmeta Crusoe i Eceon Procesor Very Long Instruction Word Intel Itanium (core: Merced) Pora»ka biznesowa Morng kodu (programowy ale zrealizowany w krzemie) Mo»na zmieni mikrokod ju» po wyprodukowaniu ukªadu Tªumaczenie instrukcji odbywa si tylko raz; p tle i odwoªania do tego samego fragmentu kodu s pobierane w postaci rozkazów VLIW z pami ci cache Optymalizacja tªumaczonego kodu (usuwanie zb dnych instrukcji!) Torvalds i inne sªawy miaªy swój wkªad w projekt... 1. Itanium równie» jest VLIW oraz korzysta z morngu kodu 2. Mikrokod jest programem który tªumaczy Assembler x86 na wewn trzny j zyk procesora. Mikrokod mo»na zaªadowa do procesora, ale jest to rozwi zanie sprz towe OS nic nie wie o fakcie morngu. 3. Przy pomocy morngu kodu mo»na sprawi,»e jeden procesor z zewn trz wygl da jakby implementowaª inn architektur, co rodzi mo»liwo± wykorzystania do emulacji; w praktyce jest to ekonomicznie nieopªacalne.

Transmeta Blue Pill lguest Blue Pill Rootkit zaprojektowany przez Joann Rutkowsk w 2006 Teoretycznie umo»liwia caªkowite i niewykrywalne przej cie kontroli nad systemem oary Bazuje na AMD-V Kiedy system poªknie niebiesk tabletk : Blue Pill przechwytuje system w locie i ªaduje go do swojej VM U»ytkownik oary pracuje bez straty wydajno±ci (...?) i bez mo»liwo±ci wykrycia Blue Pill (...?) Utrata cz ±ci zasobów systemowych na rzecz Blue Pill: Czas procesora: mo»na przestawia zegar... Pami : trzeba ukrywa rootkit i jednocze±nie nie zmniejszy rozmiaru dost pnej pami ci Prototypowa implementacja z opublikowanymi ¹ródªami

Blue Pill 2007-11-15 Blue Pill Blue Pill Rootkit zaprojektowany przez Joann Rutkowsk w 2006 Teoretycznie umo»liwia caªkowite i niewykrywalne przej cie kontroli nad systemem oary Bazuje na AMD-V Kiedy system poªknie niebiesk tabletk : Blue Pill przechwytuje system w locie i ªaduje go do swojej VM U»ytkownik oary pracuje bez straty wydajno±ci (...?) i bez mo»liwo±ci wykrycia Blue Pill (...?) Utrata cz ±ci zasobów systemowych na rzecz Blue Pill: Czas procesora: mo»na przestawia zegar... Pami : trzeba ukrywa rootkit i jednocze±nie nie zmniejszy rozmiaru dost pnej pami ci Prototypowa implementacja z opublikowanymi ¹ródªami 1. Przechwycenie systemu w locie jest pono ogólnie wykonalne... generalnie eksperci si zgadzaj,»e to jest prostsza cz ± pomysªu 2. System oary ªadowany jest do maszyny wirtualnej rootkita, który staje si hypervisor'em

Transmeta Blue Pill lguest lguest Šadowalny moduª lg - prosty mechanizm parawirtualizacyjny l stands for light - tylko 6000 linii Cel: prostota, ªatwo± u»ytkowania i modykacji Brak rozbudowanej funkcjonalno±ci Niska wydajno± - 25% do 50% natywnej Od wersji j dra 2.6.23 - wª czony do kernela