Hypervisor: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Aggiunto Proxmox come esempio di Hypervisor bare-metal
 
(71 versioni intermedie di 55 utenti non mostrate)
Riga 1:
In [[informatica]] l{{'}}'''hypervisor''' (in italiano conosciuto come '''L’hypervisoripervisore'''), conosciuto anche come [['''virtual machine]] monitor''' (VMM), è il componente centrale e più importateimportante di un sistema basato sulle [[macchina virtuale|macchine virtuali]].
Un computer sul quale venga eseguito un hypervisor che a sua volta controlla una o più macchine virtuali è detto macchina ''host'', e ogni macchina virtuale è detta macchina ''guest''. Il compito di un hypervisor è quello di presentare all'utente i [[sistema operativo|sistemi operativi]] delle macchine guest e di gestire la loro esecuzione. Grazie ad un hypervisor, su una macchina host possono essere in esecuzione contemporaneamente diverse macchine guest, su ognuna delle quali può girare un sistema operativo diverso che ha il controllo sulle risorse hardware virtualizzate rese disponibili dall'hypervisor. Questo tipo di virtualizzazione è diversa dalla virtualizzazione a livello di sistema operativo, dove tutte le istanze (dette anche container) devono essere eseguite in un unico [[kernel]].
==Significati==
Il termine inglese ''hypervisor'' è un rafforzativo di ''supervisor'', usato tradizionalmente per il kernel di un sistema operativo. In altre parole si vuole indicare che un hypervisor è il supervisor di un supervisor. Il termine è nato approssimativamente nel 1970<ref>{{cita web |url=http://programmers.stackexchange.com/questions/196405/how-did-the-term-hypervisor-come-into-use |titolo=How did the term "hypervisor" come into use?|lingua=en}}</ref>, mentre prima si usava il termine Control Program.
 
==Descrizione==
===La virtualizzazione===
{{vedi anche|Virtualizzazione}}
La potenza di calcolo e la complessità dei moderni [[sistema informatico|sistemi informatici]] induce a trovare nuove vie per facilitarne la gestione ed ottimizzarne l'utilizzo. Spesso i calcolatori che offrono servizi ([[server]], non "[[desktop computer|desktop]]") sono sotto utilizzati per questioni di sicurezza e praticità: viene, di norma, installata una sola [[applicazione (informatica)|applicazione]] per [[sistema operativo]] e dunque una sola applicazione per calcolatore. Questa condizione implica la presenza di più ''calcolatori'', che occupano spazio ed impiegano ingenti risorse di denaro, nonché di gestione e manutenzione.
 
La virtualizzazione è la tecnologia emergente che sembra raccogliere interesse soprattutto da parte delle aziende, che permette ad un [[server]] fisico ospitante di gestire diversi[[Sistema operativo|sistemi operativi]] andando ad emulare le istanze delle macchine non più fisiche, ma appunto virtuali, e dei relativi sistemi operativi “ospiti”ospitati; questo agevola il mantenimento di un insieme di applicazioni su un singolo server e con un maggior livello di affidabilità. L'hypervisor è il ''componente chiave'' per un sistema basato appunto sulla virtualizzazione.
La potenza di calcolo e la complessità dei moderni sistemi informatici induce a trovare nuove vie per facilitarne la gestione ed ottimizzarne l’utilizzo.
Spesso i calcolatori sono sottoutilizzati per questioni di sicurezza e praticità: viene, di norma, installata una sola applicazione per sistema operativo e dunque una sola applicazione per calcolatore.
Questa condizione implica la presenza di più ''calcolatori'', che occupano spazio ed impieghi ingenti di denaro, nonché di gestione e manutenzione.
 
===Compiti dell 'hypervisor===
La virtualizzazione è la tecnologia emergente che sembra raccogliere interesse soprattutto da parte delle aziende, che permette ad un server di gestire diversi sistemi operativi andando ad emulare le istanze dei sistemi operativi “ospiti”; questo agevola il mantenimento di un insieme di applicazioni su un singolo server e con un maggior livello di affidabilità.
L’hipervisor è il '''componente chiave''' per un sistema basato appunto sulla virtualizzazione.
 
Il [[virtual machine]] monitor (es. [[Xen]],Open Sourceopen source monitor di macchine virtuali, [[VMware ESX Server|VMware ESX]] attuale standard di virtualizzazione in ambito enterprise o [[Hyper-V]] monitor di macchine virtuali di Microsoft) deve operare in maniera trasparente senza pesare con la propria attività sul funzionamento e sulle prestazioni dei sistemi operativi.
===Compiti dell hypervisor===
 
Svolge attività di controllo al di sopra di ogni sistema, permettendone lo sfruttamento anche come monitor e [[debugger]] delle attività dei [[sistemi operativi]] e delle [[applicazioni]] in modo da scoprire eventuali malfunzionamenti ed intervenire celermente. I requisiti richiesti a questo scopo sono quelli di compatibilità, performance e semplicità. Gli ambiti di applicazione delle [[Macchina virtuale|macchine virtuali]] sono molteplici ed eterogenei fra loro, poiché la virtualizzazione sta diventando sinonimo di [[sicurezza informatica]] ed affidabilità del [[sistema]].
Il [[virtual machine]] monitor (es. [[Xen]],Open Source, monitor di macchine virtuali) deve operare in maniera trasparente senza pesare con la propria attività sul funzionamento e sulle prestazioni dei sistemi operativi.
 
Svolge attività di controllo al di sopra di ogni sistema, permettendone lo sfruttamento anche come monitor e [[debugger]] delle attività dei [[sistemi operativi]] e delle [[applicazioni]] in modo da scoprire eventuali malfunzionamenti ed intervenire celermente.
L’hypervisorL'hypervisor allocapuò controllare ed interrompere eventuali attività pericolose, e ciò fa sì che si usino macchine virtuali sempre più frequentemente in ambito di ricerca e collaudo di [[software]]. Tra gli altri, i vantaggi della virtualizzazione che i sostenitori della tecnologia vedono in questa soluzione quando ben progettata sono di riduzione e controllo dei costi consolidando l'[[hardware]]. L'hypervisor può allocare le risorse dinamicamente quando e dove necessario, riduceridurre in modo drastico il tempo necessario alla messa in opera di nuovi sistemi, isolaisolare l’architettural'architettura nel suo complesso da problemi a livello di sistema operativo ed applicativo, abilitaabilitare ad una gestione più semplice di risorse eterogenee e, come già accennato, facilitafacilitare [[testingcollaudo]] e [[debugging]] di ambienti controllati.
I requisiti richiesti a questo scopo sono quelli di compatibilità, performance e semplicità.
 
Gli ambiti di applicazione delle [[Macchina virtuale|macchine virtuali]] sono molteplici ed eterogenei fra loro, poiché la virtualizzazione sta diventando sinonimo di sicurezza informatica ed affidabilità del [[sistema]].
==Classificazione==
L’hipervisor controlla ed interrompe eventuali attività pericolose, e ciò fà si che si usino macchine virtuali sempre più frequentemente in ambito di ricerca e collaudo di [[software]].
La classificazione si fa risalire all'articolo pubblicato nel 1974 da [[Gerald J. Popek]] e [[Robert P. Goldberg]], in cui sono stati individuati due tipi di hypervisor:<ref>{{Cita pubblicazione |autore=Gerald J. Popek |autore2=Robert P. Goldberg |titolo=Formal requirements for virtualizable third generation architectures |rivista=Communications of the ACM |anno=1974 |volume=17 |numero=7 |lingua=en |doi=10.1145/361011.361073 }}</ref>
Tra gli altri, i vantaggi della virtualizzazione che i sostenitori della tecnologia vedono in questa soluzione ben progettata sono di riduzione dei costi consolidando l’[[hardware]].
 
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, come già accennato, facilita [[testing]] e [[debugging]] di ambienti controllati.
* '''Tipo-1''', detto anche ''nativo'' o ''bare-metal hypervisor'': questi hypervisor sono eseguiti direttamente sull'hardware dell'host, del quale hanno quindi controllo diretto. Alcuni esempi sono: AntsleOS<ref>{{Cita web|url=http://docs.antsle.com/arch/|titolo=antsleOS Architecture - antsle Docs|sito=docs.antsle.com|lingua=en|accesso=28 giugno 2018|urlarchivio=https://web.archive.org/web/20190407220239/https://docs.antsle.com/arch/|dataarchivio=7 aprile 2019|urlmorto=sì}}</ref>, Microsoft [[Hyper-V]] e [[Xbox One system software]], [[Proxmox Virtual Environment|Proxmox VE]]<ref>{{Cita web|lingua=en-gb|url=https://www.proxmox.com/en/products/proxmox-virtual-environment/overview|titolo=Proxmox Virtual Environment|sito=Proxmox|accesso=2025-10-18}}</ref>, Nutanix [https://www.nutanix.com/products/acropolis/virtualization AHV], [https://xcp-ng.org/ XCP-ng], [[Oracle VM Server]], [[POWER Hypervisor]]<ref>{{Cita web|url=https://www.ibm.com/support/knowledgecenter/POWER6/iphb2/iphb2hypervisor.htm|titolo=POWER Hypervisor|sito=ibm.com|lingua=en|accesso=9 maggio 2020}}</ref> e [[VMware ESXi]] (precedentemente noto come ESX) e [[Xen]].
* '''Tipo-2''', detto anche ''hosted hypervisor'': questi hypervisor sono eseguiti all'interno di un tradizionale sistema operativo, proprio come un qualsiasi altro [[programma]]. Alcuni esempi sono: [[Parallels Desktop for Mac]], [[QEMU]], [[VirtualBox]], [[VMware Player]] e [[VMware Workstation]]
 
Nella realtà la distinzione tra questi due tipi non è sempre definita in modo chiaro. Ad esempio, [[Kernel-based Virtual Machine]] (KVM) di Linux e [[bhyve]] di [[FreeBSD]] sono moduli del kernel<ref>{{cita web |cognome=Dexter |nome=Michael |titolo= Hands-on bhyve |url=http://callfortesting.org/bhyve/ |sito=CallForTesting.org |lingua=en|accesso=24 settembre 2013}}</ref> che in pratica trasformano un sistema operativo host in un hypervisor di tipo-1.<ref>{{cita web |cognome=Graziano |nome=Charles |titolo=A performance analysis of Xen and KVM hypervisors for hosting the Xen Worlds Project |url=http://lib.dr.iastate.edu/cgi/viewcontent.cgi?article=3243&context=etd |editore=Iowa State University |anno=2011| lingua=en |accesso=29 gennaio 2013}}</ref>. In modo simile, dato che Linux e FreeBSD sono considerati sistemi operativi per uso generico, le cui applicazioni sono in competizione per le risorse delle macchine virtuali, KVM e bhyve possono essere classificati come hypervisor di tipo-2.<ref>{{cita web |cognome=Pariseau |nome=Beth |titolo=KVM reignites Type 1 vs. Type 2 hypervisor debate |url=http://searchservervirtualization.techtarget.com/news/2240034817/KVM-reignites-Type-1-vs-Type-2-hypervisor-debate |opera=SearchServerVirtualization |editore=TechTarget |anno=2011 |lingua=en| accesso=29 gennaio 2013}}</ref>
 
== Note ==
<references/>
 
==Voci correlate==
* [[Macchina virtuale]]
 
== CollegamentiAltri esterniprogetti ==
{{interprogetto}}
* {{en}} [http://www.research.ibm.com/secure_systems_department/projects/hypervisor/index.html sHype - Secure Hypervisor sul sito IBM]
 
== Collegamenti esterni ==
[[Categoria:Sistema operativo]]
* {{cita web|http://domino.watson.ibm.com/library/cyberdig.nsf/3addb4b88e7a231f85256b3600727773/265c8e3a6f95ca8d85256fa1005cbf0f|sHype - Secure Hypervisor sul sito IBM|lingua=en}}
* {{cita web|http://blogs.technet.com/b/pgmalusardi/archive/2007/08/28/windows-server-virtualization-architettura-parte-5.aspx|Microsoft Hyper-V - Architettura}}
* {{cita web|https://technet.microsoft.com/it-it/systemcenter/default.aspx|Microsoft - Gestione di ambienti virtualizzati}}
* {{cita web|https://www.vmware.com/it/products/vsphere-hypervisor/|Vmware Esxi, lo standard de facto per gli hypervisors}}
 
[[Categoria:SistemaSoftware operativodi sistema]]
[[de:Hypervisor]]
[[Categoria:Software di virtualizzazione]]
[[en:Hypervisor]]
[[es:Hypervisor]]
[[nl:Hypervisor]]
[[ru:Гипервизор]]