• # Tout est possible, c'est le jeu de la vie

    Posté par (site web personnel) . En réponse au journal fin de la compatibilité 16/32 bits pour l'architecture Intel X86: deux questions. Évalué à 10.

    Cette phrase me fait tiquer : j'ai l'impression que l'auteur de l'article ne comprend pas la virtualisation (ou alors c'est moi). J'ai l'impression qu'il confond virtualisation et émulation : en effet, de mon point de vue, la virtualisation n'est qu'une façon d'ordonnancer et de gérer des ressources. Si une ressource ou un jeu d'instruction n'est pas implémenté au niveau hardware, la virtualisation ne peut rien faire. Celà dit, je sais qu'on peut émuler des périphériques réseau par exemple. Mais est-ce que c'est envisageable pour des ressources CPU ? On en arriverait à ce stade à un système hibride émulation/virtualisation. Ca existe ça ? Est-ce envisageable ? J'avoue que ça fait un bon moment que je ne suis plus le près la virtualisation, et je serais intéressé par vos avis.

    La virtualisation est une notion assez vague et vaste. Selon moi émuler une autre architecture matérielle peut être une forme de virtualisation, car en fait à la fin tu fais abstraction du système hôte pour le système invité pour qui tout ou presque est transparent. Le reste ce sont des détails d'implémentations si la solution retenue permet ou pas de simuler une autre architecture matérielle que celle de la machine qui exécute. Typiquement les logiciels de virtualisations peuvent reposer sur QEMU qui permet d'exécuter des systèmes prévus pour ARM sur x86 ou du x86 sur x86 (non pas de typo) par exemple.

    Du coup je ne vois aucune objection à ce que la solution de contournement passe par là. De la même façon que Windows avait un mode spécial pour émuler sa compatibilité 16 bits qui a été abandonné, avec Windows 10 je crois.

    Seconde question : si le support du mode 16/32 bits disparait, ça risque de poser problème pour le rétrogaming (comme le fait remarquer cet article), qui nécessitera de passer par de l'émulation.

    Pour les vieux jeux PC il faudra peut être de l'émulation plus poussée. Pour les consoles non x86 (ce qui est le cas de quasiment toutes les vieilles consoles).

    De toute façon les vieux jeux PC un peu élaborés ont souvent des problèmes ce qui peut rendre l'émulation nécessaire sans même ce changement. En effet, pas mal de jeux utilisaient des astuces possible à l'époque pour améliorer les perfs (ou parce que c'était tout simplement autorisé). J'ai croisé quelques jeux qui ne fonctionnaient pas bien sur des Windows 10 ou 11 comme AoE II d'origine (pas les nouvelles éditions qui corrigent le tir) ou les Sims 2 rendant l'émulation nécessaire.

    Je pense qu'étant donnée la diffusion du x86_64 depuis le temps, le mode 16 bits est en pratique peu nécessaire. Les vieux logiciels d'entreprise seraient peut être les cas les plus chiants. Mais bon s'il y en a encore dans la nature qui tournent ainsi, il faut se poser la question de la maintenance de longue durée.