19.05.2013 Views

Facoltà di Ingegneria Tesi di laurea ANALISI DELLE TECNOLOGIE ...

Facoltà di Ingegneria Tesi di laurea ANALISI DELLE TECNOLOGIE ...

Facoltà di Ingegneria Tesi di laurea ANALISI DELLE TECNOLOGIE ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

La traduzione <strong>di</strong> un in<strong>di</strong>rizzo da virtuale a fisico richiede, come visto, una o più traduzioni<br />

degli in<strong>di</strong>rizzi fisici guest usando EPT; ogni traduzione può provocare una VM exit EPT-<br />

induced:<br />

un tentativo <strong>di</strong> accesso a una entry guest con un in<strong>di</strong>rizzo fisico guest (per esempio<br />

l’in<strong>di</strong>rizzo in CR3) può determinare una VM exit se l’accesso fallisce a causa <strong>di</strong> una<br />

EPT misconfiguration o EPT violation; se non avviene la VM exit, viene esaminato il<br />

bit 0 dell’entry (il present flag): se è 0 avviene un page fault, se è 1 si prosegue il<br />

cammino nella EPT.<br />

una volta determinato l’in<strong>di</strong>rizzo fisico guest, si valutano i privilegi determinati dalle<br />

entries della page table guest: se l’accesso non è consentito dai privilegi, avviene un<br />

page fault, altrimenti si effettua l’accesso in memoria.<br />

Da quanto detto, si comprende che l’hypervisor interviene solo nei casi <strong>di</strong> EPT<br />

misconfiguration o violation; i page faults sono gestiti <strong>di</strong>rettamente dal guest, poiché questo<br />

ha il pieno controllo delle sue page tables [25].<br />

Questa tecnica fa in modo <strong>di</strong> eliminare il bisogno <strong>di</strong> utilizzare i complessi algoritmi <strong>di</strong><br />

virtualizzazione delle page tables, riducendo drasticamente gli overhead a questi associati;<br />

inoltre, cosa fondamentale, viene ridotta in maniera significativa l’occupazione <strong>di</strong> memoria,<br />

rispetto al caso dello shadow page-table: infatti nel meccanismo software-only si richiedono<br />

sPT per ogni processo del software guest, invece in questo caso una singola EPT supporta<br />

l’intera macchina virtuale.<br />

La tecnica EPT, quin<strong>di</strong>, ha l’obiettivo <strong>di</strong> ottimizzare e velocizzare la virtualizzazione della<br />

gestione della memoria, consentendo al sistema operativo guest <strong>di</strong> mo<strong>di</strong>ficare le proprie page<br />

tables, eliminando un gran numero <strong>di</strong> VM exits e riducendo le shadow page tables necessarie<br />

per ogni processo guest [27].<br />

3.1.5 Intel VT VPID<br />

Nella prima generazione <strong>di</strong> Intel VT si forzava la cancellazione della TLB (TLB flush) ad<br />

ogni transizione VMX, ovvero ogni volta che si cambiava il modo <strong>di</strong> funzionamento del<br />

processore: ciò, però, provoca per<strong>di</strong>te nelle prestazioni per tutte le VM exits e sulla maggior<br />

parte delle VM entries. Infatti, per la maggior parte del tempo, l’hypervisor non deve<br />

mo<strong>di</strong>ficare le guest page tables e non richiede la cancellazione della TLB.<br />

53

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!