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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Adverse impact on guest system calls<br />

Il “ring deprivileging” può interferire con l’efficacia delle strutture dell’architettura<br />

x86, perché richiede l’intervento dell’hypervisor per emulare ogni system call; ciò<br />

crea un impatto negativo sulle prestazioni delle system call del OS guest.<br />

Interrupt virtualization<br />

Il meccanismo delle interruzioni dà luogo a molti problemi nella progettazione<br />

dell’hypervisor. L’architettura x86 fornisce meccanismi per il mascheramento delle<br />

interruzioni (interrupt masking) quando il sistema operativo non è pronto per gestirle:<br />

usa l’interrupt flag (IF) nel registro EFLAGS per controllare il mascheramento delle<br />

interruzioni. L’hypervisor dovrebbe gestire le interruzioni e negare al software guest il<br />

controllo del mascheramento. I meccanismi <strong>di</strong> protezione permettono ciò garantendo<br />

che i tentativi del guest <strong>di</strong> controllare l’interrupt masking falliscano nel contesto del<br />

ring deprivileging. L’hypervisor dovrebbe quin<strong>di</strong> intercettare ogni tentativo del guest,<br />

il che pesa molto sulle prestazioni del sistema.<br />

Ring compression<br />

Il ring deprivileging usa il meccanismo privilege-based per proteggere l’hypervisor da<br />

software guest. Può succedere che il sistema operativo guest debba essere eseguito al<br />

livello <strong>di</strong> privilegio 3, ma in questo modo ha lo stesso privilegio delle applicazioni<br />

guest, e, quin<strong>di</strong>, non ha la protezione da queste.<br />

Frequent access to privileged resources<br />

L’hypervisor dovrebbe prevenire l’accesso del guest a risorse privilegiate generando<br />

faults a ogni tentativo <strong>di</strong> accesso. Quando la frequenza dei faults eccessiva, le<br />

performance possono essere compromesse. Un esempio coinvolge il task-priority<br />

register (TPR), che si trova nell’advanced programmable interrupt controller (APIC);<br />

il TPR controlla la priorità delle interruzioni e l’hypervisor non deve permettere<br />

all’OS guest <strong>di</strong> accedervi. Alcuni OS effettuano tentativi <strong>di</strong> accesso con frequenza<br />

molto elevata: questo richiede l’intervento dell’hypervisor, con conseguenti impatti<br />

negativi sulle prestazioni.<br />

Addressing virtualization<br />

L’hypervisor fornisce un meccanismo d’in<strong>di</strong>rizzamento chiamato shadow page tables,<br />

che, come visto prima, genera un significativo overhead della CPU.<br />

39

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

Saved successfully!

Ooh no, something went wrong!