Co to jest maszyna wirtualna - rodzaje i zalety

Wypróbuj Nasz Instrument Do Eliminowania Problemów





Koncepcja maszyny wirtualnej została wprowadzona około 1960 roku. Jest to ewolucja techniki podziału czasu. W metodzie z podziałem czasu każdy program ma pełny dostęp do wszystkich zasobów komputera, ale jednocześnie wykonywany jest tylko jeden program. System przełącza się między programami w odcinkach czasu, zapisując i przywracając stany programów za każdym razem. Dzięki zastosowaniu metody współdzielenia czasu wielu użytkowników może jednocześnie korzystać z systemu komputerowego. Centra badawcze IBM rozwinęły metodę podziału czasu jako maszyny wirtualne. CP-67 był pierwszym dostępnym architektura maszyny wirtualnej . Opracowano systemy z wieloma maszynami wirtualnymi na jednym hoście i jedną maszyną wirtualną na wielu hostach.

Przed uruchomieniem nowego sprzętu technologia , jest najpierw testowany na emulatorze, aby wykryć, odtworzyć i naprawić błędy w projekcie i wykonać niezbędne kroki. Podobnie, przed wprowadzeniem nowego oprogramowania przeprowadza się symulację w celu sprawdzenia błędów i ich debugowania. Aby wykonać to zadanie, system, który może zastąpić główne środowisko do budowy nowej technologii. Tutaj właśnie pojawiają się maszyny wirtualne. Pełni rolę emulacji systemu komputerowego zapewniając pełną funkcjonalność systemu fizycznego.




Co to jest maszyna wirtualna?

Wraz z wprowadzaniem nowych technologii i nowszych modeli badawczych, wprowadzanych jest wiele produktów sprzętowych i programowych. Wiele programów jest zależnych od platformy, dlatego czasami ich debugowanie lub sprawdzanie jest trudne ze względu na ograniczone zasoby sprzętowe.

Maszyna wirtualna (maszyna wirtualna) to emulacja systemu komputerowego, w której maszyny te wykorzystują architekturę komputerową do zapewnienia funkcjonalności komputera fizycznego. Fizyczne urządzenie, na którym pracują maszyny wirtualne, jest znane jako Host, podczas gdy maszyny wirtualne są znane jako Gość. Jeden gospodarz może mieć wielu gości.



Typy maszyn wirtualnych

Maszyna wirtualna działa jak komputer i jest wydzielona z pozostałej części systemu hosta. Oprogramowanie gościa nie może wprowadzać zmian w oprogramowaniu systemu hosta. W ten sposób pliki wirusów można testować za pomocą maszyny wirtualnej bez wpływu na główny system komputerowy. Oprogramowanie komputerowe, które tworzy i uruchamia maszynę wirtualną, nosi nazwę Hypervisor. W oparciu o ich funkcje istnieją dwa różne typy maszyn wirtualnych - Systemowe maszyny wirtualne i procesowe maszyny wirtualne.

1). Systemowe maszyny wirtualne


Te typy maszyn wirtualnych zapewniają pełną wirtualizację. Będąc substytutem prawdziwej maszyny, zapewnią one funkcje do wykonania całości system operacyjny . Zasoby sprzętowe są współdzielone i zarządzane, tworząc wiele środowisk w systemie hosta. Te środowiska są od siebie odizolowane, ale istnieją na tym samym hoście fizycznym. W związku z tym zapewniają one współdzielenie czasu między kilkoma jedno-zadaniowymi systemami operacyjnymi.

Aby umożliwić współdzielenie pamięci między różnymi maszynami wirtualnymi na jednym komputerze system operacyjny można zastosować systemy nadmiernego zaangażowania pamięci. Strony pamięci o identycznej zawartości mogą być współużytkowane przez wiele maszyn wirtualnych znajdujących się na tym samym hoście fizycznym. Jest to bardzo przydatne w przypadku stron tylko do odczytu.

2). Przetwarzaj maszyny wirtualne (VM)

Te maszyny wirtualne są również nazywane maszynami wirtualnymi aplikacji, zarządzanymi środowiskami wykonawczymi. Ten typ maszyny wirtualnej działa jako normalna aplikacja w systemie operacyjnym hosta, obsługując pojedynczy proces. Jest tworzony wraz z rozpoczęciem procesu i jest niszczony po zakończeniu procesu. Służy do zapewnienia niezależności od platformy programowanie środowiska do procesu, umożliwiając jego wykonanie w ten sam sposób na dowolnej innej platformie.

Proces-maszyna-wirtualna

Proces-maszyna-wirtualna

Są one implementowane przy użyciu interpreterów i zapewniają abstrakcje wysokiego poziomu. Są one powszechnie używane do programowania w języku Java, które wykorzystuje wirtualną maszynę Java do wykonywania programów. Istnieje specjalny przypadek maszyny wirtualnej procesu, która abstrahuje od mechanizmu komunikacji klastra komputerów. Obejmują one jeden proces na maszynę fizyczną w klastrze. Pomagają one programiście skupić się na algorytmie zamiast na procesie komunikacji zapewnianym przez połączenie i maszyna wirtualna w systemie operacyjnym . Aplikacja działająca na tych maszynach wirtualnych ma dostęp do wszystkich usług systemu operacyjnego. Równoległa maszyna wirtualna, interfejs przekazywania wiadomości są przykładami tych maszyn wirtualnych (VM).

Architektura

Oprogramowanie wykonawcze to oprogramowanie do wirtualizacji, które implementuje maszynę wirtualną procesu. Jest realizowany na poziomie API architektury komputera powyżej połączonej warstwy systemu operacyjnego i sprzętu. To emuluje instrukcje na poziomie użytkownika, a także wywołania systemu operacyjnego lub biblioteki. W przypadku maszyny wirtualnej systemu oprogramowanie do wirtualizacji nosi nazwę Virtual Machine Monitor (VMM). To oprogramowanie jest obecne między maszyną sprzętową hosta a oprogramowaniem gościa. VMM emuluje sprzętowy ISA, umożliwiając oprogramowaniu gościa wykonanie innego ISA.

Zalety

Niektóre z zalet maszyn wirtualnych są następujące:

  • Maszyny wirtualne zapewniają zgodność oprogramowania z oprogramowaniem na nich działającym. W ten sposób całe oprogramowanie napisane dla zwirtualizowanego hosta będzie również działać na maszynie wirtualnej.
  • Zapewnia izolację między różnymi typami systemów operacyjnych i procesów. W związku z tym system operacyjny procesora działający na jednej maszynie wirtualnej nie może modyfikować procesów innych maszyn wirtualnych i systemu hosta.
  • Zapewniają one hermetyzację, a oprogramowanie obecne na maszynie wirtualnej może być modyfikowane i kontrolowane.
  • W przypadku hosta z wieloma systemami operacyjnymi zapewniają one różne funkcje, takie jak brak podwójnego rozruchu, przesyłanie plików między maszynami wirtualnymi, błąd w jednym systemie operacyjnym nie wpływa na inny system operacyjny obecny na hoście, można łatwo dodać system operacyjny typu freash.
  • Zapewniają one dobre zarządzanie oprogramowaniem, takie jak ten, który może uruchamiać kompletny stos oprogramowania komputera głównego, uruchamiać starsze systemy operacyjne itp.
  • Tutaj możliwe jest współdzielenie zasobów sprzętowych z niezależnymi stosami oprogramowania i równoważenie obciążenia, maszyny wirtualne mogą być przenoszone na różne komputery.

W związku z tym nowoczesne systemy komputerowe stają się coraz bardziej złożone i zawierają różne ściśle ze sobą współdziałające komponenty oprogramowania i sprzętu. W tym przypadku wirtualizacja działa jak technologia połączeń wzajemnych. Maszyny wirtualne tworzą niekompatybilne podsystemy do współpracy. Zapewnia również bardziej elastyczne i efektywne wykorzystanie zasobów sprzętowych w wielu systemach operacyjnych. Zapewniają one współdziałanie sprzętu, oprogramowania systemowego i aplikacji. Jakie są różnice między Process Maszyna wirtualna i systemowa maszyna wirtualna?