Tecnociencia

Logra ejecutar Windows XP en el mítico Intel 486 gracias a un hack del kernel

Un usuario muy dedicado ha logrado ejecutar Windows XP en un Intel 486, algo impensable, ya que era necesario tener un Pentium de 233 Mhz para instalarlo. ¿Cómo lo ha hecho? Con un hack del kernel de XP.

Cuando se habla de procesadores míticos, uno de los que posiblemente te venga a la cabeza es el mítico Intel 486 lanzado en 1989. 

Un procesador francamente interesante para su época y que, como es lógico, solo podía ejecutar, como mucho, Windows 98, uno de los sistemas operativos más infames que se recuerda. Sí, dejaba de lado Windows XP, uno de los más queridos y recordados, puesto que era necesario contar con al menos un Pentium de 233 Mhz para instalarlo. 

Ahora, un mago ha logrado ejecutar Windows XP en un Intel 486. ¿Cómo? A través de un hackeo del kernel de XP para que pudiese funcionar en el clásico chip. Aquí tienes en vídeo el proceso que lo demuestra:

Dietmar, el usuario extremadamente dedicado que ha logrado el hito deja bien claro que uno de los problemas principales por los que el Intel 486 no podía ejecutar XP era una instrucción introducida en el Pentium: CMPXCHG8B.

Se trata de una instrucción que compara 2 valores de 8 bytes y toma diferentes acciones dependiendo de una prueba de igualdad. Es decir, o copia los 8 bytes en una dirección de destino o los carga en un registro de 64 bits. En esencia, su propio nombre lo indica: CoMPara y eXCHanGia (exchage, cambia en español) algunos valores.

Al final es una instrucción vital para el rendimiento al trabajar con estructuras de datos grandes. Lo que ha hecho Dietmar es encontrar cada uso de CMPXCHG8B y reemplazarlo con una serie equivalente de instrucciones CMPXCHG.

Un éxito que puedes replicar tú mismo, ya que ahora puedes ejecutar la versión alemana de Windows XP en un Intel 486 real o emulado gracias a que el instalador está disponible en Internet Archive.

Como nota aparte, el conocido y devastador bug Pentium F00F fue causado por una codificación defectuosa de la instrucción CMPXCHG8B. Esto permitía a cualquier usuario, incluso usuarios no privilegiados, bloquear completamente un sistema, requiriendo un ciclo completo de reinicio.

Por:  COMPUTER HOY