한국   대만   중국   일본 
Mode virtuel 8086 ? Wikipedia Aller au contenu

Mode virtuel 8086

Un article de Wikipedia, l'encyclopedie libre.

Le mode virtuel 8086 (en anglais  : Virtual 8086 mode ) est un mode d'execution particulier pour les processeurs de la famille x86 . Ce mode fut cree avec l'apparition du processeur Intel 80386 en 1985 et est disponible sur toutes les versions ulterieures des processeurs Intel de la famille x86.

Le mode virtuel 8086, aussi appele Virtual 8086 ou V86, permet au processeur de se comporter comme un processeur 8086 ou 8088 pour lesquels n'existait que le mode reel . Ses avantages par rapport au mode reel sont qu'il permet de garder la protection memoire ainsi que le controle des processus par le systeme d'exploitation, et qu'il est tres facile et tres rapide de passer de ce mode au mode protege et inversement.

Ce mode d'execution fut cree pour faire fonctionner des applications DOS en meme temps que des applications Windows qui necessitent le mode protege .
Les programmes DOS (qu'ils soient 16 ou 32 bits) compatibles DPMI (en anglais  : DOS Protected Mode Interface ) fonctionnent en mode protege et non au travers du mode virtuel 8086.

En pratique [ modifier | modifier le code ]

Ce mode utilise une segmentation similaire avec celle du mode reel, avec des adresses memoire sur 20 bits, mais sujettes a la pagination du mode protege.

Les interruptions de type IRQ ou exceptions sont gerees comme si le processeur etait en mode protege (grace a l' IDT qui n'a pas besoin de se situer dans la petite zone de memoire accessible dans ce mode). Dans ce cas, les registres DS, ES, FS et GS sont placees sur la pile en plus des registres normalement places en cas d'interruption.

Les instructions INT, IRET, IN, OUT, PUSHF, POPF, CLI et STI sont consideres comme sensibles et declenchent une exception GPF traitee par une partie du systeme d'exploitation appelee gestionnaire du mode virtuel. Ce gestionnaire peut soit arreter l'execution du programme, soit analyser l'instruction fautive, simuler son execution, puis reprendre l'execution normale du programme en mode virtuel.

Utilisation [ modifier | modifier le code ]

Le mode virtuel 8086 est utilise notamment sous Windows/386 2.1x , Windows 3.x en mode 386, Windows 9x , Windows Me et OS/2 2.x. Il est utilise dans d'autres systemes uniquement pour executer des programmes DOS et Windows 16 bits : sous Windows NT et tous ses successeurs par l'intermediaire de la machine virtuelle NTVDM, sous SCO UNIX au travers de Merge , et sous Linux grace a, par exemple, DosEmu . Des machines virtuelles avancees comme VMware permettent l'utilisation de ce mode.

Il peut egalement etre utilise par les systemes d'exploitation actuels pour utiliser des fonctions du BIOS, notamment celles du BIOS video en l'absence d'un driver pour la carte graphique.

Toutefois, les processeurs x86-64 actuels ne peuvent pas basculer en mode 8086 virtuel lorsqu'ils fonctionnent en "Long Mode", c'est-a-dire dans le contexte d'un systeme d'exploitation 64 bits. C'est la raison pour laquelle il n'est plus possible d'executer de programmes MS-DOS dans les versions x64 de Windows, ni indirectement de programmes Windows 16 bits car ces programmes, bien qu'ils fonctionnaient en mode protege et seraient supportes par le processeur en "Long Mode", faisaient appel au DOS (donc au mode 8086 virtuel) pour un certain nombre d'operations.

References [ modifier | modifier le code ]

Voir aussi [ modifier | modifier le code ]

Articles connexes [ modifier | modifier le code ]