Argomenti più comuni esame di: Sistemi Operativi (Ingegneria Informatica ed Elettronica)
Macchine virtuali
I sistemi operativi e le applicazioni che funzionano su di una macchina virtuale vengono eseguiti in un ambiente che ha anche funzioni di protezione e limitazione. L'obiettivo di una VM è di permettere l’esecuzione di ambienti differenti sulla stessa macchina, con la particolarità che ognuno di questi essi ha la parvenza di avere il completo utilizzo dell'hardware fisico. In questo modo si riescono a eseguire diversi sistemi operativi (ognuno all'interno di una VM) contemporaneamente su una sola macchina fisica.
Per fare ciò è necessaria la presenza dell'hypervisor: esso si occupa della creazione delle VM e fornisce ad ognuna di esse un'interfaccia grazie alla quale l'ambiente virtuale può "vedere" l'hardware della macchina host. Esistono diversi tipi di hypervisor:
- Tipo 1: Le VM possono utilizzare l'hardware grazie all'interfaccia messa a disposizione dall'hypervisor. È una sorta di SO che viene lanciato al momento del boot, ha il completo controllo dell’hardware. La comunicazione tra macchine virtuali e hardware è diretta e passa solamente attraverso l'hypervisor.
- Tipo 2: Viene introdotto un nuovo livello tra le VM e l'hardware, ossia il sistema operativo dell'host. Può controllare diverse VM e funziona in modalità utente (come una normale app).
Vantaggi:
- Bloccare lo stato della VM per poi recuperarlo in seguito
- Parti semplici, flessibili e facili da mantenere
- Completa protezione delle risorse di sistema
- Rende facile lo sviluppo di un SO
Svantaggio: l’isolamento della VM rende complessa la condivisione di risorse. Ciò si supera con la creazione di reti di VM virtuali, il NAT DHCP permette di avere una protezione delle VM rispetto alla rete virtuale.
Gestione delle chiamate di sistema
Esistono 3/4 modalità: Utente virtuale, Kernel virtuale, [utente fisico], kernel fisico. Quando si esegue un'istruzione privilegiata nella modalità utente di un sistema ospite si provoca una TRAP (eccezione) che viene gestita dal kernel fisico, dopodiché il controllo torna all'utente virtuale. L'ambiente ospite ha in questo modo l'illusione che la chiamata sia stata gestita dal kernel virtuale.
Caratteristiche principali della paravirtualizzazione
L'ambiente ospite non ha più l'illusione di avere a disposizione il completo hardware, ma ha a disposizione risorse specifiche assegnate dall'hypervisor, ottimizzando in questo modo l'efficienza.
-
Sistemi operativi: domande base esame con soluzioni
-
Sistemi operativi
-
Appunti Sistemi operativi
-
Corso di Sistemi operativi - prima parte