Brief Look: ELF File Format in Linux
ELF (Executable and Linkable Format) is a standard file format for most executables, shared libraries and object codes. This format was originally developed and published by USL (Unix System Laboratory) as part of ABI (Application Binary Interface) and now it’s a widely accepted format in most UNIX variants.
This format was developed with a clear objective to provide the developers a set of binary interface definitions that works on multiple operating systems. This would reduce the need of recoding and recompiling the code.
This format has replaced the legacy and proprietary executable formats like a.out and COFF (Common Object File Format). These were less extensible compared to ELF. Microsoft is still using PE-COFF (the "P" stands for "Portable") and Apple is still using Mach-O executables. ELF is generally used on GNU/Linux systems. But many distributions still support a.out format.