Futuro del soporte de plataforma de 32 bits en FreeBSD

El plan de FreeBSD de poner fin al soporte de plataformas de 32 bits en la versión 16 pone de relieve un cambio más amplio en la industria hacia sistemas solo de 64 bits en sistemas operativos y arquitecturas de CPU. Los comentaristas sopesan los beneficios prácticos de abandonar 32 bits —mantenimiento más sencillo, mejor seguridad y alineación con el hardware moderno— frente a los costes para el software heredado, propietario y embebido que todavía depende de entornos de ejecución de 32 bits. Algunos señalan proyectos como NetBSD y ciertas variantes embebidas de Linux como posibles refugios para el hardware antiguo, mientras que otros sostienen que los sistemas tipo Unix de 32 bits son cada vez más un nicho que se sirve mejor con sistemas operativos especializados o de tiempo real.

Estado del soporte de 32 bits en los principales sistemas

  • Fedora ha estado descontinuando de forma sistemática kernels y paquetes i686; muchos paquetes nuevos ya ni siquiera se compilan en i686.
  • Ubuntu ha abandonado en gran medida 32 bits, conservando solo un conjunto mínimo de bibliotecas para Steam/Wine.
  • Debian está migrando el tiempo de 32 bits a 64 bits, pero advierte que i686 podría dejarse de lado pronto.
  • FreeBSD 16 no admitirá plataformas de 32 bits, pero los binarios de 32 bits siguen admitidos en kernels de 64 bits (todavía no hay plan para dejar de hacerlo).
  • OpenBSD ya trata i386 como de baja prioridad (solo correcciones fáciles/críticas). El futuro allí no está claro.
  • NetBSD es ampliamente visto como el hogar a largo plazo para hardware de 32 bits/legado.

Impacto práctico en software y bibliotecas

  • Las aplicaciones propietarias heredadas de 32 bits y las bibliotecas relacionadas con Wine siguen siendo un punto de fricción; eliminar bibliotecas de 32 bits puede simplemente romperlas.
  • Algunos mantenedores consideran que el software nuevo asume 64 bits y no corregirá problemas de compilación en 32 bits.
  • Probar en 32 bits es cada vez más difícil porque las distribuciones modernas no incluyen pilas completas de 32 bits; la gente recurre a VMs antiguas.

Portabilidad, UB y debates sobre tamaños de tipos en C

  • Problemas repetidos: suposiciones incorrectas sobre el tamaño de long/size_t y conversiones de punteros a long en lugar de uintptr_t.
  • Algunos sostienen que esto es simplemente mal C, independiente de 32 frente a 64 bits, y que debería corregirse como errores de UB/portabilidad.
  • Otros se oponen: corregir para plataformas teóricas tiene un costo real y poco beneficio actual; muchos proyectos optimizan deliberadamente para el Unix de 64 bits dominante.
  • Hay apoyo para preferir size_t/uint32_t/uint64_t (tipos de C99) frente a int/long, e incluso para la idea de descontinuar los tipos enteros heredados.

Tendencias de arquitectura de CPU y modos de arranque

  • El propuesto x86‑S de Intel y diseños más nuevos de ARM Cortex‑A están eliminando los modos de arranque de 16/32 bits; algunos núcleos ARM ya no pueden ejecutar aplicaciones de 32 bits en absoluto.
  • Apple eliminó pronto el soporte para aplicaciones de 32 bits; el hardware actual no admite código Mac de 32 bits, pero hay una capacidad mínima de 32 bits en Rosetta para cosas como Wine.
  • Algunos consideran que ya era hora de que x86 arrancara directamente en modo largo; otros advierten que no literalmente “todo el mundo” solo necesita 64 bits.

Wine, time_t y Y2038

  • Wine se está moviendo hacia un modelo en el que las aplicaciones de 32 bits llaman a bibliotecas de 64 bits, lo que podría permitir que las distribuciones eliminen la mayoría de las bibliotecas de 32 bits.
  • El problema del año 2038 añade presión: el tiempo de 32 bits en sistemas de 32 bits es otra gran carga de migración; FreeBSD ya usa time_t de 64 bits en todas partes excepto i386.

Sistemas embebidos y cola larga

  • Preocupa que la rápida descontinuación de 32 bits perjudique el uso de Unix embebido.
  • Un lado: para trabajos embebidos serios, RTOS o bare metal son mejores; Unix de 32 bits es excesivo y obsoleto, y los SoC baratos de 64 bits (por ejemplo, de la clase Cortex‑A55) están ampliamente disponibles.
  • Contrapunto: mucho “embebido gordo” (routers, dispositivos de seguridad, placas de clase RPi) sigue ejecutando Linux de 32 bits; Linux de 32 bits probablemente persistirá allí durante mucho tiempo.
  • Algunos sugieren tratar Unix de 32 bits en el futuro como hoy se trata 8/16 bits: de nicho, a medida, no un objetivo para software portátil genérico.

Roles y sentimiento en el ecosistema BSD

  • Se percibe que FreeBSD está cada vez más centrado en hardware de 64 bits de clase servidor; 32 bits nunca fue muy fuerte en su historia embebida.
  • NetBSD se ve como el refugio para hardware legado y como un nicho complementario a FreeBSD.
  • OpenBSD y el soporte multiarquitectura son elogiados por detectar supuestos no portables (endianness, alineación, 32/64 bits).
  • Varios participantes expresan nostalgia y una sensación de envejecimiento a medida que se retira el soporte de 32 bits.