Frequently Asked Questions para FreeBSD 2.X : Preguntas varias : Porqué usar (que son) a.out y ELF como formatos ejecutables?
Previous: FreeBSD usa más espacio de swap que Linux. Porqué?
Next: Porqué chmod no puede cambiar los permisos de los links?

12.2. Porqué usar (que son) a.out y ELF como formatos ejecutables?

Para entender por que FreeBSD usa el formato a.out, debes saber primero un poco sobre los tres formatos dominantes actualmente en UNIX:

FreeBSD viene del sistema clásico y tradicionalmente ha utilizado el formato a.out, una tecnología probada y testeada a través de muchas generaciones de releases de BSD. También es posible construir y ejecutar binarios nativos ELF (y kernels) en sistemas FreeBSD. FreeBSD inicialmente se resistió al salto de cambiar a ELF como su formato por defecto. Porqué?, bien, cuando el mundo Linux hizo su transición a ELF no era nada fácil abandonar el formato ejecutable a.out debido a su inflexible mecanismo de tablas basadas en librerías compartidas. Esto hizo muy difícil para los fabricantes y desarrolladores la creación de librerías compartidas. A partir del momento en el que se ofrecieron una serie de herramientas que ofrecían la solución al problema de las librerías compartidas, el coste de la migración fue aceptado como necesario y la transición se hizo.

En el caso de FreeBSD, el mecanismo de librerías compartidas esta más basado en el estilo de SunOS, mucho más sencillo de usar. De todas maneras, empezando con la version 3.0, FreeBSD soportará oficialmente binarios ELF como el formato por defecto. Aunque pensamos que el formato ejecutable a.out nos ha servidor muy bién, la gente de GNU, que hacen las herramientas de compilación que usamos, ha dejado de dar soporte para el formato a.out. Esto nos ha forzado a mantener dos versiones divergentes del compilador y lincador.


Frequently Asked Questions para FreeBSD 2.X : Preguntas varias : Porqué usar (que son) a.out y ELF como formatos ejecutables?
Previous: FreeBSD usa más espacio de swap que Linux. Porqué?
Next: Porqué chmod no puede cambiar los permisos de los links?