Macchina Virtuale

Il significato più comune oggi è quello di un programma che emula un calcolatore (di solito un calcolatore astratto, cioè a cui non corrisponde un calcolatore reale). I programmi applicativi vengono scritti in un linguaggio che viene compilato per questo calcolatore immaginario (cioè tradotti nelle sue istruzioni native) e, una volta compilati, vengono eseguiti sulla macchina virtuale software, che può agire o come interprete o come compilatore "al volo" (compilazione just in time). Dal momento che si possono scrivere diverse macchine virtuali per diverse piattaforme, il programma compilato può "girare" su qualsiasi piattaforma su cui "gira" la macchina virtuale. L'Hypervisor è il componente chiave per un sistema basato sulla virtualizzazione. Il Virtual Machine Monitor deve operare in maniera trasparente senza pesare con la propria attività sul funzionamento e sulle prestazioni dei sistemi operativi.

Un linguaggio moderno che fa uso della macchina virtuale è il Java: i programmi scritti in Java vengono infatti compilati (cioè tradotti) nel linguaggio bytecode, che gira sulla Java Virtual Machine.

Progenitori delle macchine virtuali odierne si possono considerare sia la "macchina p", cioè il calcolatore astratto per cui venivano (e vengono tuttora) compilati i programmi in Pascal nelle prime fasi della compilazione (producendo il cosiddetto p-code), sia la "macchina S", un altro calcolatore astratto (che però ebbe anche una realizzazione "concreta", cioè hardware) per cui venivano compilati i programmi in Simula nelle prime fasi della compilazione (producendo il cosiddetto S-code). L'Hypervisor alloca le risorse dinamicamente quando e dove necessario, riduce in modo drastico il tempo necessario alla messa in opera di nuovi sistemi, isola l'architettura nel suo complesso da problemi a livello di sistema operativo ed applicativo, abilita ad una gestione più semplice di risorse eterogenee e facilita testing e debuggin di ambienti controllati.

Chiamaci al numero verde gratuito per avere maggiori informazioni sui nostri corsi