FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

Pourquoi les systèmes d'exploitation 64 bits ne peuvent-ils pas exécuter des applications 16 bits ?

Une fois que les ordinateurs ont commencé à utiliser l'architecture 64 bits moderne, les utilisateurs se sont vite rendu compte que l'exécution de ces anciennes applications 16 bits n'allait pas fonctionner. Pourquoi les machines 64 bits ne peuvent-elles pas exécuter des applications 16 bits ?

La réponse à cette question peut prêter à confusion, selon la personne à qui vous demandez. D'une part, il n'est pas impossible d'exécuter des applications 16 bits. C'est juste difficile. Deuxièmement, la raison de cette difficulté réside à la fois dans l'architecture du processeur et le système d'exploitation.

Confus encore? Ne vous inquiétez pas, vous n'êtes pas seul. Mais lorsque vous arriverez à la fin de cet article, vous ne serez plus confus.

L'histoire de l'architecture CPU

Je sais, la dernière chose que vous voulez lire est une leçon d'histoire, n'est-ce pas ? Ne vous inquiétez pas, c'est court. Il est également essentiel de comprendre pourquoi les systèmes 64 bits ne peuvent pas exécuter les applications 16 bits en mode natif.

Si vous avez vécu les années 80 et 90, vous vous souvenez probablement de ces vieux dinosaures 16 bits que tout le monde à l'époque considérait comme une technologie de pointe.

Pourquoi les systèmes d exploitation 64 bits ne peuvent-ils pas exécuter des applications 16 bits ?

A l'époque, ça l'était. Ces anciennes machines exécutaient le Intel 8086 processeur en 1978. Le processeur a pu accéder à un espace d'adressage de 1 Mo en utilisant un adressage 16 bits. Avec des machines plus anciennes fonctionnant avec 64 Ko de mémoire, il s'agissait d'une avancée considérable et marquait le début d'une nouvelle ère dans l'informatique personnelle.

Dans ce mode (appelé mode réel ), une partie était réservée à la RAM, et le reste était utilisé par le BIOS et le matériel informatique comme la carte graphique.

Un peu plus tard vint une nouvelle avancée dans l'architecture CPU avec le processeur 80286, capable d'adresser 16 Mo en utilisant un adressage 16 bits. Avec l'architecture 286 est venu le "mode protégé", avec des fonctionnalités qui permettaient non seulement l'adressage de plus de mémoire, mais également le multitâche. Exécuter d'anciennes applications 16 bits en "mode réel" n'a pas toujours été facile, mais c'était possible.

La fin du 16 bits, en quelque sorte...

En 1985, Intel a présenté son processeur de nouvelle génération :l'Intel 386. Il s'agissait du premier processeur d'Intel capable d'adresser la mémoire en utilisant 32 bits à la fois et d'accéder à 4 Go de mémoire adressable. À l'époque, cela apparaissait aux utilisateurs d'ordinateurs comme une percée majeure. Le jeu sur PC était sur le point d'entrer dans son apogée.

Pourquoi les systèmes d exploitation 64 bits ne peuvent-ils pas exécuter des applications 16 bits ?

Parallèlement à l'avènement de l'architecture 32 bits, une version étendue du mode protégé a été ajoutée. cela permettait non seulement d'accéder à plus de mémoire, mais il comprenait un ensemble de fonctionnalités où le logiciel pouvait signaler au système s'il s'agissait d'un code 16 bits ou 32 ​​bits. Cela a été rendu possible par ce qu'on appelle le mode virtuel 86 , qui était essentiellement un système 8086 virtualisé intégré.

Comme vous pouvez le voir, d'une évolution de l'architecture CPU à l'autre, tant le matériel (programmation CPU) que le logiciel (systèmes d'exploitation et applications), ont maintenu une rétrocompatibilité pour tous les utilisateurs qui avaient encore des logiciels très anciens qu'ils voulaient Cours. Pour les utilisateurs d'ordinateurs individuels, cela était utile, mais pour de nombreuses entreprises et petites entreprises, c'était essentiel pour les systèmes hérités.

L'architecture 64 bits a tout gâché

La limite de 4 Go de mémoire adressable est restée une béquille pour les systèmes 32 bits pendant de nombreuses années. Cependant, avec l'invention des processeurs 64 bits, une autre percée s'est produite. Ces systèmes incluaient un nouveau mode (connu sous le nom de mode long ) capable d'adresser jusqu'à 16 millions de téraoctets de mémoire. Il faudra sans doute longtemps avant que cela ne devienne un facteur limitant pour les applications informatiques.

Cependant, cette formidable avancée s'est accompagnée d'un compromis important. Lorsque les utilisateurs ont tenté d'exécuter des applications 16 bits qui nécessitaient le "mode réel" ou le "mode virtuel 8086" pris en charge depuis longtemps, ils ont découvert un message d'erreur indiquant :"Program.exe n'est pas une application Win32 valide".

Pourquoi les systèmes d exploitation 64 bits ne peuvent-ils pas exécuter des applications 16 bits ?

C'était frustrant, mais ce n'était pas la fin du monde. Les utilisateurs peuvent utiliser des émulateurs ou installer des machines virtuelles exécutant une architecture 32 bits et des systèmes d'exploitation capables de prendre en charge les applications 16 bits héritées.

Ainsi, bien qu'il soit "impossible" pour les systèmes 64 bits d'exécuter des applications MS-DOS 16 bits, il n'est pas impossible pour les utilisateurs de le faire en utilisant une solution de contournement. Mais pourquoi est-ce arrivé ?

L'architecture 64 bits supprime le NTVDM

Dans chaque génération de processeur 32 bits au fil des ans, de nombreux efforts ont été déployés dans le système d'exploitation pour que le système gère les anciennes applications DOS 16 bits. Cela a été accompli en utilisant ce qu'on appelle le NTVDM, ou NT Virtual DOS Machine.

Cette application 32 bits s'exécutait dans le système d'exploitation Windows et simulait une architecture 486 capable de gérer l'adressage 16 bits à l'aide du 8086 virtuel. Malheureusement, l'adressage "en mode long" ne pouvait pas s'adapter à cela en toute sécurité. Au lieu de cela, il aurait fallu émuler un processeur 8086 complet simplement pour prendre en charge les applications DOS en cours d'exécution.

Pourquoi les systèmes d exploitation 64 bits ne peuvent-ils pas exécuter des applications 16 bits ?

Microsoft a clairement pris la décision d'abandonner cet effort afin de prendre en charge la publication rapide de son premier système d'exploitation 64 bits. Sur sa page d'assistance, Microsoft indique clairement que "les utilitaires MS-DOS 16 bits et Microsoft Windows 3.x ne démarreront pas".

Pas d'excuses. Ce n'est tout simplement pas pris en charge.

Avec la pléthore de produits de virtualisation sur le marché capables d'accomplir cela de toute façon, Microsoft n'a clairement pas estimé qu'il était dans son intérêt de réinventer la roue.

Comment exécuter des applications 16 bits sur des systèmes 64 bits

Ce n'est pas parce que l'exécution d'applications DOS 16 bits n'est pas prise en charge nativement sur les systèmes Windows 64 bits que c'est impossible. Il vous suffit d'installer des outils supplémentaires pour configurer les choses.

Si vous aimez les jeux DOS classiques ou utilisez d'autres applications rétro du bon vieux temps de l'informatique, il existe des options. Voici quatre façons de les exécuter sur votre nouvelle machine Windows.

1. Jouez à des jeux rétro avec DOSBox

L'un des moyens les plus simples d'exécuter d'anciennes applications DOS sur votre PC consiste à utiliser un émulateur. L'un des plus populaires d'entre eux est DOSBox.

Christian a détaillé comment installer et configurer DOSBox pour exécuter d'anciens jeux rétro sur votre machine Windows.

Pourquoi les systèmes d exploitation 64 bits ne peuvent-ils pas exécuter des applications 16 bits ?

La grande chose à ce sujet est que la plupart de ces jeux sont si anciens qu'ils sont considérés comme des abandonwares, vous pouvez donc les télécharger et y jouer gratuitement en toute légalité.

2. Exécutez des applications dans VirtualBox

Étant donné que les systèmes d'exploitation tels que Windows XP et Windows 7 peuvent exécuter des applications 16 bits de manière native, vous pouvez exécuter les mêmes applications sur votre système 64 bits en créant une machine virtuelle avec l'un de ces systèmes d'exploitation.

L'une des applications les plus connues et les plus faciles à configurer pour cela est VirtualBox. Nous avons un guide complet sur la configuration et l'utilisation de VirtualBox, afin que vous puissiez commencer à utiliser cette approche dès maintenant.

Pourquoi les systèmes d exploitation 64 bits ne peuvent-ils pas exécuter des applications 16 bits ?

Assurez-vous simplement de choisir le bon système d'exploitation à installer. Restez avec Windows 7 ou une version antérieure, et vous pourrez télécharger et installer d'anciennes applications DOS sur votre système virtuel en un rien de temps.

3. Utiliser Linux

Dites ce que vous voulez à propos de Linux, une chose que la plupart des distributions Linux ont raison est la prise en charge des applications 16 bits. Distros avec le noyau PAE, vous n'êtes pas limité aux 4 Go de systèmes 32 bits, donc exécuter une distribution Linux appropriée en tant que double démarrage sur votre système est une autre option.

Pourquoi les systèmes d exploitation 64 bits ne peuvent-ils pas exécuter des applications 16 bits ?

Deux options pour cela :une solution à double amorçage ou une machine virtuelle. Ou vous pouvez simplement vider complètement Windows et opter pour Linux. Tout ce qui fonctionne pour vous.

4. Utiliser des émulateurs

DOSBox n'est pas le seul émulateur disponible pour exécuter d'anciennes applications DOS. Il existe de nombreux excellents émulateurs qui fonctionnent tout aussi bien. Cela est particulièrement vrai si vous êtes un joueur.

Christian a expliqué comment émuler un Commodore Amiga, un Raspberry Pi, un Android et même un SNES classique sur n'importe quel PC.

Pourquoi les systèmes d exploitation 64 bits ne peuvent-ils pas exécuter des applications 16 bits ?

Ce n'est que la pointe de l'iceberg. Si vous effectuez une recherche en ligne, vous trouverez toute une bibliothèque d'émulateurs différents qui vous permettront d'exécuter à peu près n'importe quelle application rétro que vous pouvez imaginer. Microsoft a peut-être abandonné les anciennes applications 16 bits de l'époque, mais vous avez encore des options.

N'abandonnez pas le 16 bits

Il n'y a aucune raison que vous pensiez que c'est impossible pour exécuter des applications 16 bits sur une machine 64 bits. C'est peut-être impossible nativement, mais comme vous pouvez le constater, il existe de nombreuses solutions pour accomplir la tâche.


[]