Windows XP fonctionne enfin sur un 486
Certains ont du temps à perdre : Dietmar, un Allemand, a modifié le noyau de Windows XP — un système lancé en 2001 — pour qu'il puisse fonctionner sur un processeur 80486. Pour ceux qui ne connaissent que les systèmes d'Apple, la comparaison serait « Quelqu'un modifie Mac OS X Panther pour qu'il se lance sur un processeur Motorola 68040 ».
![](https://cdn.mgig.fr/2024/06/mg-3d661889-w828-w1024.jpg)
Windows XP, donc, nécessite officiellement un Pentium alors que Windows 95, lui, fonctionne même sur un simple 386. Pour bien placer les choses dans le temps, Windows XP a donc été lancé en 2001, les premiers 486 datent de 1989 et le Pentium a été introduit en 1993.
La modification nécessaire n'est pas énorme mais a demandé un peu de réflexion : le noyau de Windows XP emploie une instruction qui est apparue avec le Pentium, cmpxchg8b
. Pour faire (très) simple, elle permet de comparer deux valeurs (le cmp
dans son nom) et éventuellement de déplacer 8 bits en fonction du résultat (le xchg
, pour eXCHanGes), comme l'explique Hack A Day. Dietmar a donc modifié le noyau de l'OS (plus exactement Windows XP Service Pack 3) pour remplacer l'instruction par un équivalent compatible avec les processeurs 486, évidemment plus lents.
Les versions modifiées sont disponibles sur archives.org pour les versions anglophones et germanophones du système d'exploitation. Une vidéo montre le résultat dans un émulateur réglé pour simuler un 486. Rappelons quand même que Windows XP nécessite 64 Mo de RAM — une valeur élevée, assez rare sur un 486 — et un processeur avec une fréquence nettement plus élevée. À l'époque, Microsoft recommandait une fréquence de 233 MHz au minimum, et les 486 fonctionnent habituellement entre 16 et 100 MHz (chez Intel).
Du temps à perdre à commenter un sujet sur le temps à perdre. C’est Proustien.
Il était temps, j'ai failli me résigner.
Ha je me suis fait avoir par le titre, j’ai cru qu’il était enfin stable
@ radeon
> j’ai cru qu’il était enfin stable
Windows XP, héritier direct de Windows NT était stable.
Ne pas confondre avec Windows 3.x, 95, 98 ou Me qui n'avaient de commun avec Windows NT/XP quasiment que le nom Windows, Windows NT ne reposant pas sur MS-DOS, mais héritant plutôt du système VMS de DEC.
@marc_os
On a pas eu la même expérience visiblement.
@marc_os
D’ailleurs windows NT a été développé par des ingénieurs se chez DEC après l’abandon de VMS pour Unix préférant quitté DEC pour sortir lleur vision du futur de VMS chez Micro$oft, Windows NT.
Quand même 64 Mo de ram !
Mazette… à l’époque où tout ordinateur qui se respecte doit en avoir au minimum 16Go… soit 250 fois plus. 😇
Ah, c'est pas 8 go ?
(Je sors, je sors...)
quittez ce pays, manant ! 😅
Excellent cette bidouille !
Mon premier ordi : un 486 SX 33 MHz avec 4 Mo de RAM.
Et quelle émotion quand j’ai remplacé le CPU avec un DX2 à 66 MHz !
Pouvoir lancer Dune2, Warcraft 2 de façon fluide !
@Karamazow
"Mon premier ordi : un 486 SX 33 MHz avec 4 Mo de RAM. "
———-
Moi c’était un ZX81.
1Ko de Ram.
L’extension à 16Ko a du attendre. Trop chère.
Mais j’ai longtemps rêvé du ZX80 qui était vendu en Kit à assembler soit même.
J’adorerais l’idée d’un iPhone Pro Max en kit.
@MarcMame
L'écran du ZX81 ne s'éteignait pas quand le CPU exécutait une instruction, c'était une grande evolution par rapport au ZX80.
@Adodane
« L'écran du ZX81 ne s'éteignait pas quand le CPU exécutait une instruction, c'était une grande evolution par rapport au ZX80. »
————
Pas dans mes rêves où tout était parfait.
@MarcMame
Oric 1 🙋🏽♂️
@MarcMame
Le ZX81 était aussi vendu en kit , pub sur SVM pour 690F en kit ou monté à 990F
@Karamazow
❤️❤️❤️
Une bidouille pour le faire tourner sur un vrai 486, je comprends, mais pour un émulateur qui tourne en fait sûrement sur un processeur bien plus puissant…
Deux commentaires pertinents trouvés sur le site du hackeur:
So, XP now works, but what about any programs designed to run on top of Windows XP that use this instruction…
Soit : « Donc XP fonctionne désormais, mais quid des programmes conçus pour fonctionner avec Windows XP et qui utilisent cette instruction [cmpxchg8b] ? »
I think using two “LOCK CMPXCHG” instructions (with other instructions in between as well) isn’t the same as a single atomic “LOCK CMPXCHG8B” and introduces a race condition. On a single core system with a single-threaded CPU like the 486 it’ll probably run OK most of the time, but an interrupt can come just the right time to cause subtle and random memory corruption and crashes.
Ce hack ne sert donc à priori à rien, si ce n'est faire de la pub pour celui qui l'a créé en montrant au monde ses capacités de bidouille. (Ce qui ne me dérange pas.)
Je veux bien un Panther pour mon Quadra 660AV !
@ melaure : Et moi je voudrais bien un Tiger sur mon MBA M1. 🙂
@BeePotato
Pluch’un
@melaure
"Je veux bien un Panther pour mon Quadra 660AV !"
———-
Il n’y a qu’un seul MacOs digne de ce nom : Snow Léopard.
La comparaison au début de l’article est mauvaise car le 486 et le Pentium sont des processeurs de la même famille. Panther était prévu pour des PowerPC et en interne chez Apple, pour Intel x86. Le 68040 n’a rien à voir avec ces deux processeurs.
Nextstep tournait sur 68030 et 68040 ... on est parfaitement dedans.
Windows XP mon OS de cœur ❤️
J’adore ce genre d’article avec des challenges « inutiles » mais beau.
@andr3
👍🏻