Web - Amazon

We provide Linux to the World


We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Maszyna wirtualna - Wikipedia, wolna encyklopedia

Maszyna wirtualna

Z Wikipedii

Maszyna wirtualna (ang. virtual machine, VM) 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ą).

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.

Spis treści

[edytuj] Rodzaje maszyn wirtualnych

Maszyny wirtualne to m.in.:

Różnice między poszczególnymi typami takich maszyn są płynne. Na przykład wirtualna maszyna Javy jest powszechnie znana jako samodzielny interpreter, ale ponieważ istniały komputery, które potrafiły wykonywać programy w kodzie bajtowym Javy bezpośrednio, można ją także traktować jako emulator tych maszyn.

[edytuj] Możliwości maszyn wirtualnych

Maszyny wirtualne pozwalają uruchamiać programy napisane dla innych architektur bez żadnych zmian lub tylko z niewielkimi modyfikacjami (parawirtualizacja). Daje to dużą niezależność od fizycznego sprzętu, choć kosztem dodatkowej warstwy abstrakcji, która wiąże się z pewnymi niedogodnościami: oprogramowanie wirtualizujące samo wymaga części czasu procesora i pamięci operacyjnej, zwiększa także stopień komplikacji układu, a więc i ryzyko błędu. Ponieważ jednak wydajność współczesnych komputerów ciągle rośnie, a osobne warstwy ułatwiają znajdowanie błędów, coraz częściej jest to cena, jaką warto zapłacić za dodatkowe możliwości. Podobne motywy stały za odejściem w informatyce od asemblera w stronę języków wysokiego poziomu (C, programowania obiektowego).

Elementy wirtualizacji pojawiają się zarówno w sprzęcie fizycznym (procesory firmy Transmeta, technologie Virtualization Technology w kościach Intela oraz Pacifica w procesorach AMD) jak i w budowie niektórych systemów operacyjnych (technologia mikrojądra czy wręcz wirtualne systemy operacyjne, które pracują jako aplikacje dla innych systemów), i choć są uznawane jako obiecujące na przyszłość, to jak dotąd nie stały się jeszcze popularne.

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. Jest to możliwe dzięki przeźroczystości maszyny wirtualnej: każda kolejna maszyna wirtualna zachowuje się tak, jakby działała na sprzęcie fizycznym, nawet jeśli jego rolę pełni inna maszyna wirtualna. Ograniczeniem jest jedynie ilość dostępnych fizycznych zasobów systemowych sprzętu (tak, jak kolejne babeczki w matrioszkach osiągają w końcu zbyt małe rozmiary, aby w środku umieścić jeszcze mniejszą).

[edytuj] 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

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.

[edytuj] Zobacz też

Our "Network":

Project Gutenberg
https://gutenberg.classicistranieri.com

Encyclopaedia Britannica 1911
https://encyclopaediabritannica.classicistranieri.com

Librivox Audiobooks
https://librivox.classicistranieri.com

Linux Distributions
https://old.classicistranieri.com

Magnatune (MP3 Music)
https://magnatune.classicistranieri.com

Static Wikipedia (June 2008)
https://wikipedia.classicistranieri.com

Static Wikipedia (March 2008)
https://wikipedia2007.classicistranieri.com/mar2008/

Static Wikipedia (2007)
https://wikipedia2007.classicistranieri.com

Static Wikipedia (2006)
https://wikipedia2006.classicistranieri.com

Liber Liber
https://liberliber.classicistranieri.com

ZIM Files for Kiwix
https://zim.classicistranieri.com


Other Websites:

Bach - Goldberg Variations
https://www.goldbergvariations.org

Lazarillo de Tormes
https://www.lazarillodetormes.org

Madame Bovary
https://www.madamebovary.org

Il Fu Mattia Pascal
https://www.mattiapascal.it

The Voice in the Desert
https://www.thevoiceinthedesert.org

Confessione d'un amore fascista
https://www.amorefascista.it

Malinverno
https://www.malinverno.org

Debito formativo
https://www.debitoformativo.it

Adina Spire
https://www.adinaspire.com