2018 Spring Term
February 27 2018
Virtualità
Virtualizzare qualcosa significa fornire un oggetto che possa essere usato (stessa interfaccia) efficacemente al posto dell'altro. Se si usa una scarpa per piantare un chiodo, la scarpa è un "martello virtuale".
Memoria virtuale
- Interfaccia della memoria principale: load(indirizzo), store(indirizzo, oggetto).
- Semantica: se eseguo store(i, a) seguito da load(i), la seconda operazione ritornerà a.
La memoria secondaria può essere usata per implementare l'interfaccia di quella primaria. Anche l'hardware di un calcolatore può essere visto come un'entità astratta che parla il linguaggio ISA del processore di cui fa uso. Se virtualizziamo l'hardware tramite un programma che ne implementa la stessa interfaccia otteniamo una macchina virtuale.
Possibilità di virtualizzare il tempo.
Significato di virtualsquare
Una piazza dove i vari tipi di virtualià coesistono, un laboratorio internazionale sulla virtualità.
Concetto di VIEW
I processi "vedono" l'ambiente di esecuzione. Se non stanno eseguendo istruzioni di calcolo, i processi si interfacciano ("vedono") al sistema (accedono a memoria, fanno routing) usando system calls. ogni processo può vedere un file diverso allo stesso path name
umview vecchia macchina parziale virtuale
L'Hypervisor agisce parzialmente come un debugger: intercetta le system calls ed intraprende azioni.
Virtual Distributed Ethernet (VDE)
VDE è una rete Ethernet virtuale che può essere distribuita su diverse macchine fisiche presenti in rete. Usare concetti reali nello "Standard" ethernet e vitualizzarli. ad esmpio uno switch con il vitual switch, più avanti nelle versioni sono stati creati dei "tasselli" che si posso interfacciare con vari altri tasselli per formare una rete virtuale personalizzata
Tip: "Trovate il nome giusto da dare a tutte le cose che pensate"
PeDaNTe S.P.A. (Physical, Data link, Network, Transport, Session, Presentation, Application)
Internet of Threads
Dare un indirizzo IP non alla macchina, ma direttamente al processo, questo ti pemette di migrare i processi da una macchina ad un'altra senza che il client deve riconfigurare l'IP della chiamata a quel processo (IPV6 è praticamente obbligatorio per rendere Internet of Threads utillizzabile, perchè IPV4 ha troppi pochi indirizzi) Se abbiamo due web servers virtuali sulla stessa macchina fisica vogliamo che abbiano comunque diversi indirizzi ip.