Linus Torvalds cree que la arquitectura i486 estaría mejor en un museo y no en el kernel de Linux

linus torvalds

Linus Benedict Torvalds es un ingeniero de software finlandés-estadounidense, ​ conocido por iniciar y mantener el desarrollo del kernel Linux,

Hace algunos días Linus Torvalds dio a conocer su opinión sobre finalizar el soporte para la arquitectura del procesador i486 en el kernel de Linux. La arquitectura antigua se discutió hace unos días en un hilo que analizaba cómo el núcleo podría manejar mejor las listas de uso menos reciente (LRU), una forma de rastrear las páginas de memoria.

Mientras Torvalds investigaba el código de los colaboradores, parece haberse frustrado con la necesidad de incluir soluciones adecuadas para CPU más antiguas. Por lo tanto, sugirió finalizar el soporte para el kit anterior, lo que podría ser una forma más fácil de solucionar los problemas de memoria.

“Nos deshicimos de la compatibilidad con i386 en 2012. ¿Quizás es hora de eliminar la compatibilidad con i486 en 2022? Dice Linus Torvalds

Ya lo hacemos (ciertamente mal: no es seguro para SMP, es decir, funcionará bien incluso cuando se enfrente al acceso simultáneo de múltiples subprocesos de ejecución, pero las máquinas SMP Clase 486 nunca fueron compatibles a pesar de que técnicamente existían)

Cabe recordar que la serie de CPU i486 se lanzó en 1989 y actualmente son muy pocas distribuciones de Linux, como Gentoo, Slackware y KNOPPIX que continúan admitiendo el soporte para esta arquitectura.

Según Torvalds, los problemas causados ​​por el soporte de arquitecturas obsoletas que pocas personas usan podrían ser más fáciles de resolver eliminando su soporte. La gestión de memoria LRU de procesadores más antiguos también sería un caso así. 

Honestamente, no me importaría actualizar los requisitos mínimos a al menos M586TSC, dejando atrás también algunos de esos primeros clones de «falsos Pentium». Porque ‘rdtsc’ es probablemente un problema aún peor que CMPXCHG8B.

Y es que todo se reduce a cmpxchg8b, una instrucción que compara y luego intercambia ocho bytes (o 64 bits) de información en la memoria de la computadora. El miembro de la lista de correo Peter Zijlstra sugirió que Linux solo debería admitir procesadores capaces de llevar a cabo esto, dejando atrás i486 de 32 bits y lo que significa que los nuevos kernels de Linux se ejecutarían en hardware de clase P5 o más nuevo.

La instrucción cmpxchg8b es la culpable del error ‘F00F’ del Pentium original, en el que una CPU afectada sin las mitigaciones del sistema operativo dejaba de funcionar hasta que se reiniciaba cuando se le pedía que ejecutara la instrucción.

En realidad, no entiendo en absoluto por qué los núcleos actuales se ejecutan en un i486, ya que pareceexit_to_user_mode_prepare -> arch_exit_to_user_mode_preparey termina teniendo una declaración ‘rdtsc’ incondicional.

Supongo que no lo has activado.RANDOMIZE_KSTACK_OFFSET*? En otras palabras, nuestro soporte que no es Pentium está ACTIVAMENTE DEFECTUOSO Y ROTO en este momento.

Según él, es muy dudoso que el hardware i486 siga siendo relevante. No hay duda de que todavía hay personas tan decididas en el mundo, que creen que los problemas resultantes pueden superarse fácilmente, pero a partir de desde el punto de vista del desarrollo del núcleo, esta posición no es realmente relevante. 

“Así que realmente no creo que el hardware de clase i486 sea relevante más. Sí, estoy seguro de que los hay (Maciej es un ejemplo), pero desde la perspectiva del desarrollo del kernel, no creo que sean realmente relevantes. En algún momento, la gente los tiene como piezas de museo. También podrían administrar núcleos de museos.

Hay que decir que la arquitectura i486 debutó en 1989 y fue reemplazada por el Pentium de Intel en 1993. Intel se deshizo del i486 en 2007 y hoy en día su famosa base de datos detallada de productos Ark no contiene ninguna mención de la familia de procesadores.

Quien todavía usa los dispositivos hace tiempo que se resignó a hacerlo sin soporte, sin posibilidad de adquirir un nuevo kit o que los desarrolladores de software pensaran en la plataforma.

Para más detalles, el Intel 80486 (i486, 486) es un microprocesador de la familia x86, fabricado por Intel. Fue lanzado en 1989. En términos de arquitectura de procesador, el 80486 es muy similar a su predecesor inmediato, el Intel 80386, con la adición de algunas instrucciones adicionales. Es, por tanto, una arquitectura CISC.

Desde el punto de vista de la microarquitectura, hubo una gran mejora en ese momento: un caché unificado integrado de instrucciones y datos, una unidad de procesamiento de punto flotante (FPU) integrada opcional y una interfaz de bus mejorada.

Finalmente hace menciona para los usuarios que tengan sistemas con procesadores i486 podrán utilizar las versiones LTS del kernel, las cuales se mantendrán por muchos años más.


Un comentario, deja el tuyo

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   evilhack02 dijo

    El soporte para modelos viejos de procesadores y dispositivos puede ser retirado del kernel de Linux por varias razones, como simplificar y optimizar el código, reducir la complejidad y el mantenimiento del kernel, o enfocarse en dispositivos más modernos y populares. Algunos ejemplos de modelos viejos que podrían ser retirados del soporte del kernel de Linux incluyen:

    Procesadores antiguos: como el Intel i386, i486 o algunos procesadores AMD antiguos. Estos procesadores son muy antiguos y no son compatibles con las últimas características del kernel de Linux.

    Dispositivos periféricos antiguos: como las unidades de cinta, las unidades de disquete o algunas tarjetas de sonido o vídeo antiguas. Estos dispositivos son menos comunes en la actualidad y, por lo tanto, el soporte para ellos puede ser retirado para reducir la complejidad del kernel.

    Tecnologías obsoletas: como el soporte para el protocolo de red IPX, que se utilizaba comúnmente en redes de computadoras hace décadas. A medida que las tecnologías avanzan y cambian, el soporte para tecnologías obsoletas puede ser retirado del kernel.