Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałFryderyka Michalik Został zmieniony 10 lat temu
1
Maszyna wirtualna ang. virtual machine, VM
2
D e f i n i c j a To ogólna nazwa dla programów tworzących środowisko uruchomieniowe dla innych programów. Maszyna wirtualna kontroluje wszystkie odwołania uruchamianego programu bezpośrednio do sprzętu lub systemu operacyjnego i zapewnia ich obsługę. Dzięki temu program uruchomiony na maszynie wirtualnej "myśli", że działa na rzeczywistym sprzęcie, podczas gdy w istocie pracuje na sprzęcie wirtualnym, "udawanym" przez odpowiednie oprogramowanie (maszynę wirtualną).
3
Maszyna wirtualna Wykonywanym programem może być zarówno pojedyncza aplikacja jak i cały system operacyjny lub nawet kolejna maszyna wirtualna. Są one zupełnie odizolowane przez maszynę wirtualną od maszyny fizycznej, w odróżnieniu od klasycznego systemu operacyjnego, który tylko zarządza uruchamianiem aplikacji na maszynie fizycznej.
4
Rodzaje maszyn wirtualnych
Maszyny wirtualne to m.in.: interpretery, szczególnie interpretery kodu bajtowego kompilatory JIT emulatory rzeczywiście istniejącego sprzętu, np. emulatory konsol
5
I n t e r p r e t e r To rodzaj programu komputerowego (translatora), który analizuje kod źródłowy a przeanalizowane fragmenty (zazwyczaj jedna instrukcja) są wykonywane. Wykonanie powtórnie tego samego fragmentu wymaga powtórnej analizy. Jest to działanie przeciwne do kompilatora, który nie wykonuje wejściowego programu (kodu źródłowego) lecz tłumaczy go do wykonywalnego kodu maszynowego, który jest zapisywany do pliku w celu późniejszego wykonania. W większości przypadków jest możliwe wykonanie tego samego kodu źródłowego zarówno bezpośrednio przez interpreter jak i przez kompilację i wykonanie wygenerowanego kodu źródłowego.
6
K o m p i l a t o r To program służący do automatycznego tłumaczenia kodu napisanego w jednym języku (języku źródłowym) na równoważny kod w innym języku (języku wynikowym). W informatyce tym pojęciem określa się najczęściej program do tłumaczenia kodu źródłowego w języku programowania na język maszynowy. Niektóre kompilatory tłumaczą najpierw do języka asemblera, a ten na język maszynowy jest tłumaczony przez asembler.
7
E m u l a t o r To program komputerowy, który duplikuje funkcje jednego systemu informatycznego w innym, dzięki czemu ów drugi system zwraca te same rezultaty, co pierwszy. Mówimy wtedy, że pierwszy system jest emulowany przez drugi. Jedną z form emulatorów są programy, które umożliwiają uruchamianie aplikacji na komputerze lub systemie operacyjnym innym niż ten na który zostały napisane (np. emulatory Amigi, Atari, ZX Spectrum).
8
Możliwości maszyn wirtualnych
Maszyny wirtualne pozwalają uruchamiać programy napisane dla innych architektur bez żadnych zmian lub tylko z niewielkimi modyfikacjami (parawirtualizacja). Idealna maszyna wirtualna w pełni naśladuje działanie fizycznego sprzętu, teoretycznie możliwe jest więc dowolne i nieograniczone kombinowanie różnych warstw wirtualizacji, w tym np. rekursywne uruchamianie wirtualnych maszyn.
9
Zastosowania maszyn wirtualnych
Maszyny wirtualne są używane do różnych celów: do uruchamiania istniejących aplikacji i systemów operacyjnych w innych środowiskach niż pierwotne dla zapewnienia uniwersalnego środowiska uruchomieniowego do bezpiecznego rozdzielania zasobów dużych maszyn (mainframe, superkomputery) do uruchamiania jednocześnie różnych systemów operacyjnych na jednym komputerze do uruchamiania na jednym komputerze programowych klastrów do uzyskania pełnej kontroli nad systemem operacyjnym, np. podczas analizowania jego pracy do optymalizacji pracy programów, poprzez kontrolę ich środowiska działania i procesu translacji kodu
10
Maszyna wirtualna Poszczególne korzyści mogą występować łącznie, na przykład uruchamianie wielu wirtualnych maszyn na dużym komputerze odbywa się pod ścisłą kontrolą stanu ich działania.
11
P o d s u m o w a n i e Maszyna wirtualna stanowi pośrednik między bytecodem, a zasobami systemowymi, np. pamięcią. Maszyna wirtualna zajmuje się odzyskiwaniem pamięci (zwalnia z tego obowiązku programistę). Maszyna wirtualna gwarantuje, że zajmie się także detalami specyficznymi dla konkretnej platformy systemowej. Maszyna wirtualna zabezpiecza newralgiczną część systemu przed złymi kodami.
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.