El formato de archivo Mach-O (Mach Object) es el estándar utilizado por los sistemas operativos de Apple, incluyendo macOS, iOS, watchOS y tvOS, para archivos ejecutables, código objeto, bibliotecas compartidas, código cargado dinámicamente y volcados de memoria (core dumps). Este formato surgió como un reemplazo para el antiguo formato "a.out" derivado de NeXT y SunOS. Mach-O destaca por ser un formato flexible y extensible que permite soportar múltiples arquitecturas y tipos de objetos dentro de un solo archivo, lo que facilita la creación de "binarios universales" o "fat binaries" capaces de ejecutarse en diferentes arquitecturas de procesador sin necesidad de modificaciones externas. La estructura interna de un archivo Mach-O se divide principalmente en tres partes: una cabecera (header), comandos de carga (load commands) y secciones de datos. La cabecera contiene información técnica crucial como el tipo de archivo, la arquitectura del procesador y el número de comandos de carga. Los comandos de carga especifican cómo el sistema operativo debe cargar y enlazar el archivo en la memoria, detallando segmentos, secciones, símbolos y bibliotecas dinámicas necesarias. Por último, las secciones de datos contienen el código ejecutable real y los datos del programa. Los archivos Mach-O son fundamentales para la ejecución de aplicaciones y el funcionamiento del software del sistema en todas las plataformas de Apple.