Concetti Chiave
- La virtualizzazione dell'hardware consente di ospitare diversi sistemi operativi su un'unica macchina, sia tramite un sistema ospitante che direttamente su hardware ("Bare-metal").
- I sistemi operativi virtualizzati percepiscono l'hardware in modo uniforme, permettendo la coesistenza e la suddivisione delle risorse tra più sistemi.
- La virtualizzazione della CPU può essere implementata tramite software o assistita da hardware, migliorando la gestione delle risorse.
- Le macchine virtuali rendono il software portabile attraverso un codice intermedio, che non dipende dall'hardware specifico.
- Le macchine virtuali traducono il codice intermedio in istruzioni eseguibili tramite tecniche come la compilazione just-in-time e il caching per ottimizzare le prestazioni.
Computer - virtualizzazione oggi
Dagli anni Novanta iniziano a diffondersi tecnologie di virtualizzazione dell’hardware per rendere Sistema Operativo e software applicativi portabili.
Per esempio:
-- virtualizzazione dell’hardware per ospitare diversi Sistemi Operativi:
- Sistema Operativo ospite (guest) può essere installato sopra a quello ospitante (host) o da “Bare-metal” (non c’è host)
- i Sistema Operativo vedono l’hardware allo stesso modo
- la virtualizzazione della CPU può essere software-based o hardware-assisted
- si possono lanciare Sistema Operativo contemporaneamente e suddividere le risorse
-- macchine virtuali per rendere il software portabile:
- codice sorgente non compilato direttamente in codice binario (istruzioni ISA) ma in codice intermedio indipendente dall’hardware (es. Java bytecode, MSIL = Microsoft Intermediate Language)
- codice intermedio compreso da una macchina virtuale (JVM = Java Virtual Machine, VES= Virtual Execution System) installato tra hardware e Sistema Operativo
- durante l’esecuzione la macchina virtuale traduce il codice intermedio in codice ISA
- la macchina virtuale opera logicamente come interprete (traduzione run-time) con tecniche di compilazione just-in-time (subito prima dell’esecuzione) e caching (non si traduce codice già tradotto) per massimizzare l’efficienza
Domande da interrogazione
- Qual è il ruolo della virtualizzazione dell'hardware nei sistemi operativi?
La virtualizzazione dell'hardware consente di ospitare diversi sistemi operativi su un unico hardware, permettendo al sistema operativo ospite di essere installato sopra quello ospitante o direttamente su "Bare-metal". Questo approccio permette ai sistemi operativi di vedere l'hardware allo stesso modo e di suddividere le risorse, migliorando la portabilità e l'efficienza.