Modalità 8086 virtuale

Da Wikipedia, l'enciclopedia libera.

Nei processori 80386 e successivi, la modalità 8086 virtuale (Virtual 8086 mode), chiamata anche come modalità reale virtuale (virtual real mode, o VM86), permetteva l'esecuzione di programmi in modo reale che violano le regole della modalità protetta, sotto il controllo di un sistema operativo nella modalità protetta.

Utilizza la modalità reale per la segmentazione, ma sfrutta l'indirizzamento a 20 bit (attualmente 21 bit), risultando un indirizzamento lineare, da poter utilizzare la paginazione.

È utilizzato per eseguire - attraverso la Virtual DOS machine - programmi DOS in Microsoft Windows/386, Windows 3.x, Windows 9x, Windows Me e OS/2 2.x e successive. Allo stesso modo permette di eseguire programmi DOS in SCO UNIX attraverso Merge e in Linux con DOSEMU.

I programmi DOS in modo protetto, a 16 o a 32-bit, non funzionano nella modalità 8086 virtuale, ma in user mode (visto che sono compatibili con DPMI), impedendo di fatto l'uso degli emulatori sopracitati.

Indirizzamento di memoria[modifica | modifica sorgente]

Il problema più comune riscontrato nell'esecuzione di codice 8086 nella modalità protetta è l'indirizzamento di memoria che è completamente diverso tra la modalità protetta e la modalità reale. Lavorando nel modo VM86 la segmentazione funziona come nel modo reale, ma con l'attivazione del meccanismo di paginazione, ed è trasparente al codice in modo reale.

Interrupt[modifica | modifica sorgente]

Quando viene eseguito un interrupt (sia hardware, software ed istruzioni iret), il processore disabilita il codice VM86 e ritorna a funzionare in modalità protetta per gestire l'interrupt.

Voci correlate[modifica | modifica sorgente]

informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica