Maszyna wirtualna
Maszyna wirtualna (VM) to program, który emuluje system komputerowy. Ma wirtualny procesor, pamięć i pamięć masową, a z zewnątrz wydaje się, że nie różni się niczym od fizycznej maszyny z tym samym sprzętem.
Jak działa maszyna wirtualna?
Maszyna wirtualna ma system operacyjny, pliki i aplikacje. Działa jak fizyczny komputer; może hostować witryny internetowe, uruchamiać programy i istnieć w sieci z innymi systemami. Jeśli jest wyświetlana na ekranie, maszyna wirtualna pojawia się jako okno działające w systemie operacyjnym tego komputera.
Ma również procesor, pamięć i pamięć masową, ale są one symulowane, a nie fizyczne. Z tego powodu na jednym serwerze może współistnieć wiele maszyn wirtualnych. Kiedy tak się dzieje, serwer używa oprogramowania zwanego hiperwizorem do zarządzania nimi. Hiperwizor mapuje wirtualny sprzęt maszyny wirtualnej na fizyczne komponenty na serwerze.
W tym scenariuszu na jednym serwerze fizycznym mogą być uruchomione dwie, trzy, cztery, a nawet dziesięć maszyn wirtualnych. Liczba ta jest jednak ograniczona zasobami serwera – zbyt duża liczba maszyn wirtualnych prowadzi do zmniejszenia wydajności.
Dlaczego używane są maszyny wirtualne?
Maszyny wirtualne to sandboxy – fragmenty wirtualnej przestrzeni, w której kod może być uruchamiany niezależnie od reszty systemu. Dzięki temu maszyny wirtualne są idealne do testowania nowego oprogramowania lub uruchamiania kodu, który może być złośliwy.
Maszyna wirtualna może uruchomić inny lub starszy system operacyjny, aby umożliwić użytkownikowi uruchamianie oprogramowania, które nie będzie działać w systemie operacyjnym komputera. Na przykład ktoś może użyć maszyny wirtualnej do uruchomienia oprogramowania Windows na urządzeniu z systemem Linux. Aby to osiągnąć, uruchomiliby maszynę wirtualną z systemem operacyjnym Windows w swoim systemie Linux.
Kluczowy przykład: maszyna wirtualna Ethereum (EVM)
Wszystkie węzły w sieci Ethereum obsługują wirtualną maszynę Ethereum (EVM), która służy do wykonywania inteligentnych kontraktów. Ponieważ dzieje się to w oddzielnej piaskownicy, zapewnia znaczne korzyści w zakresie bezpieczeństwa dla platformy Ethereum, czyniąc ją odporną na ataki DDoS (Distributed Denial of Service), które są strategią dla wielu hakerów.