Esta es una comparación de formatos de archivos ejecutables binarios que, una vez cargados por un cargador ejecutable adecuado , pueden ser ejecutados directamente por la CPU en lugar de ser interpretados por software. Además del código binario de la aplicación, los ejecutables pueden contener encabezados y tablas con información de reubicación y reparación, así como varios tipos de metadatos. Entre los formatos enumerados, los de uso más común son PE (en Microsoft Windows ), ELF (en Linux y la mayoría de las otras versiones de Unix ), Mach-O (en macOS e iOS ) y MZ (en DOS).
Nombre de formato | Sistema operativo | Extensión de nombre de archivo | Declaraciones explícitas del procesador | Secciones arbitrarias | Metadatos [a] | Firma digital | Tabla de cuerdas | Tabla de símbolos | 64 bits | Binarios gordos | Puede contener icono |
---|---|---|---|---|---|---|---|---|---|---|---|
OS / 360 | OS / 360 y sucesores , y VS / 9 , sistemas operativos de mainframe | ninguno | No | No | No | No | No | sí | sí | No | No |
GOFF | Sistemas operativos de mainframe IBM MVS y z / OS | ninguno | No | No | sí | No | sí | sí | sí | No | No |
fuera | Tipo Unix | ninguno | No | No | No | No | Sí [1] | Sí [1] | Extensión | No | No |
COFF | Tipo Unix | ninguno | Si por archivo | sí | No | No | sí | sí | Extensión | No | No |
ECOFF | Ultrix , Tru64 UNIX , IRIX | ninguno | Si por archivo | sí | No | No | sí | sí | sí | No | No |
XCOFF | IBM AIX , BeOS , Mac OS "clásico" | ninguno | Si por archivo | sí | No | No | sí | Sí [2] | sí | No | No |
DUENDE | Similar a Unix , OpenVMS , BeOS desde R4 en adelante , Haiku | ninguno | Si por archivo | sí | sí | Sí [3] | sí | Sí [4] | sí | Extensión [5] | Extensión [6] |
Mach-O [7] | NeXTSTEP , macOS , iOS , watchOS , tvOS | ninguno | Si por tramo | Algunos (limitado a un máximo de 256 secciones) | sí | sí | sí | sí | sí | sí | No |
SOM | HP-UX , MPE / ix | ? | Desconocido | Desconocido | No | No | Desconocido | sí | No | Desconocido | No |
Amiga Hunk | AmigaOS | ninguno | No | sí | sí | No | No | sí | No | sí | No |
PEF [8] | Mac OS "clásico" , BeOS (solo PPC) | ninguno | Si por archivo | No | No | No | sí | sí | No | No | No |
CMD | CP / M-86 , MP / M-86 , CP concurrente / M-86 , CP Personal / M-86 , S5-DOS , Concurrent DOS , Concurrent DOS 286 , FlexOS , S5-DOS / ST , S5-DOS / MT , concurrente DOS 386 , multiusuario DOS , Administrador del sistema , VERDADERO / 32 , DOS Plus | .CMD | No ( solo x86 ) | sí | No | No | Extensión | Extensión | No | No | No |
FlexOS 186 | FlexOS 186 , FlexOS 286 , S5-DOS / ST , S5-DOS / MT , 4680 OS , FlexOS 386 , 4690 OS | .186 | No ( 186 / 188 y superiores) | sí | No | No | Extensión | Extensión | No | No | No |
FlexOS 286 | FlexOS 286 , S5-DOS / ST , S5-DOS / MT , 4680 OS , FlexOS 386 , 4690 OS | .286 | No (solo 286 y superior) | sí | No | No | Extensión | Extensión | No | No | No |
CP / M-68K | CP / M-68K , DOS 68K concurrente , FlexOS 68K | .68K | No (solo 68000 y superior) | sí | No | No | Desconocido | Desconocido | No | No | No |
COM (CP / M) | CP / M , MP / M , CP concurrente / M , CP personal / M | .COM | No (solo 8080 / Z80 ) | Extensión (solo BDOS 3 y superior) | No | No | No | No | No | Extensión | No |
COM (DOS) | DOS , OS / 2 , Windows (excepto para las ediciones de 64 bits) , CP / M-86 concurrente ( solo BDOS 3.1) , DOS concurrente , DOS 286 concurrente , FlexOS , DOS 386 concurrente , DOS multiusuario , System Manager , REAL / 32 , DOS Plus | .COM | No ( solo x86 ) | No | Extensión (Novell / Caldera VERSION, etc.) | No | No | No | Extensión | Extensión | No |
MZ (DOS) | DOS , OS / 2 , Windows (excepto para las ediciones de 64 bits) , DOS 286 concurrente , FlexOS , DOS 386 concurrente , DOS multiusuario , System Manager , REAL / 32 , DOS Plus | .EXE | No ( solo x86 ) | sí | Extensión (Novell / Caldera VERSION, etc.) | No | Extensión | Extensión | Extensión | No | No |
MZ (GEM) | GEM , ViewMAX | .APP/.ACC | No ( solo x86 ) | sí | No | No | Desconocido | Desconocido | No | No | Desconocido |
nordeste | MS-DOS 4.0 (multitarea) , OS / 2 , Windows , HX DOS Extender | .EXE | Desconocido | Desconocido | Desconocido | No | Desconocido | Desconocido | No | No | sí |
LE , ( W3 , W4 ) | OS / 2 (solo 2.0 y superior) , algunos extensores de DOS | .EXE | Sí, por archivo (solo 286 y superior) | sí | sí | No | sí | sí | No | No | sí |
LX | OS / 2 (2.0 y superior solamente) , algunos extensores DOS de 32 bits | .EXE | Si por archivo | sí | sí | No | sí | Sí [9] | No | No | sí |
EDUCACIÓN FÍSICA | Windows , ReactOS , HX DOS Extender , BeOS (solo R3) | .EXE | Si por archivo | sí | sí | Sí [10] | sí | sí | No | No | sí |
PE32 + | Windows (solo ediciones de 64 bits) | .EXE | Si por archivo | sí | sí | sí | sí | sí | sí | Sí [11] | sí |
PIM / XIP | PalmDOS ( solo aplicaciones MINIMAX ) | .PIM/.XIP | No ( solo x86 ) | sí | No | No | No | No | No | No | No |
DL | Aplicaciones del administrador del sistema de MS-DOS ( solo la serie HP LX ) | .EXM | No ( 186 / 188 y superiores) | sí | No | No | No | No | No | No | No |
MP | Extensores de DOS de Phar Lap | .EXP | Desconocido (solo 286 y superior) | sí | No | No | Desconocido | Desconocido | No | No | No |
P2 | Extensores de DOS de 16 bits de Phar Lap | .EXP | Desconocido (solo 286 y superior) | sí | No | No | Desconocido | Desconocido | No | No | No |
P3 | Extensores de DOS de 32 bits de Phar Lap | .EXP | Desconocido (solo 386 y superior) | sí | No | No | Desconocido | Desconocido | No | No | No |
GEOS | PC / GEOS , Geoworks Ensemble , NewDeal Office , Breadbox Ensemble | .GEO | Desconocido ( solo x86 ) | Desconocido | Desconocido | No | Desconocido | Desconocido | No | No | Desconocido |
Notas
- ^
- Los metadatos se utilizan casualmente para describir los datos de control utilizados en arquitecturas de software que son más abstractas o configurables. La mayoría de los formatos de archivos ejecutables incluyen lo que pueden denominarse "metadatos" que especifican determinadas características de tiempo de ejecución de comportamiento, generalmente configurables . Sin embargo, es difícil, si no imposible, distinguir con precisión los "metadatos" del programa de los aspectos generales de la arquitectura informática de programa almacenado ; si la máquina lo lee y actúa sobre él, es una instrucción computacional y el prefijo "meta" tiene poca importancia.
- En Java , el formato de archivo de clase contiene metadatos utilizados por el compilador de Java y la máquina virtual de Java para vincular clases dinámicamente y para soportar la reflexión . El Java SE desde J2SE 5.0 ha incluido una instalación de metadatos para permitir anotaciones adicionales que son utilizados por las herramientas de desarrollo .
- En MS-DOS , el formato de archivo COM normalmente no incluye metadatos, mientras que el archivo EXE y los formatos de Windows PE sí lo hacen. Estos metadatos pueden incluir la empresa que publicó el programa, la fecha de creación del programa, el número de versión y más.
- En el formato ejecutable de .NET Framework , se incluyen metadatos adicionales para permitir la reflexión en tiempo de ejecución.
Referencias
- ^ a b "a.out (5) - Páginas de manual de FreeBSD" . Freebsd.org. 10 de junio de 2010 . Consultado el 9 de julio de 2012 .
- ^ "Referencia de archivos - Formato de archivo de objeto XCOFF" . IBM.
- ^ "elfsign - Código libre" . Freshmeat.net . Consultado el 9 de julio de 2012 .
- ^ "(3elf) - rutinas de la biblioteca Elf" . Uw714doc.sco.com. 25 de abril de 2004 . Consultado el 9 de julio de 2012 .
- ^ "FatELF: binarios universales para Linux" . Icculus.org . Consultado el 9 de julio de 2012 .
- ^ "ElfIcon: iconos para archivos ELF" . Compholio.com . Consultado el 9 de julio de 2012 .
- ^ "Referencia de formato de archivo Mac OS X ABI Mach-O" . Apple Inc. 4 de febrero de 2009 . Consultado el 9 de julio de 2012 .
- ^ "Referencia de comandos de MPW - DumpPEF" . Apple Inc. Archivado desde el original el 12 de mayo de 2008.
- ^ "LX - Descripción del formato del módulo eXecutable lineal" . 3 de junio de 1992 . Consultado el 7 de julio de 2019 .
- ^ "Formato de firma ejecutable portátil Authenticode de Windows" . Microsoft. 29 de agosto de 2008 . Consultado el 9 de julio de 2012 .
- ^ "Detalles de implementación de WOW64" . Microsoft. 31 de mayo de 2018 . Consultado el 5 de septiembre de 2018 .