The Portable Executable (PE) format is a file format for executables, object code, DLLs, FON Font files, and others used in 32-bit and 64-bit versions of Windows operating systems. The term "portable" refers to the format's versatility in numerous environments of operating system software architecture. The PE format is a data structure that encapsulates the information necessary for the Windows OS loader to manage the wrapped executable code. This includes dynamic library references for linking, API export and import tables, resource management data and thread-local storage (TLS) data. On NT operating systems, the PE format is used for EXE, DLL, SYS (device driver), and other file types. The Extensible Firmware Interface (EFI) specification states that PE is the standard executable format in EFI environments.
PE is a modified version of the Unix COFF file format. PE/COFF is an alternative term in Windows development.
On Windows NT operating systems, PE currently supports the IA-32, IA-64, and x86-64 (AMD64/Intel64) instruction set architectures (ISAs). Prior to Windows 2000, Windows NT (and thus PE) supported the MIPS, Alpha, and PowerPC ISAs. Because PE is used on Windows CE, it continues to support several variants of the MIPS, ARM (including Thumb), and SuperH ISAs.
The main competitors to PE are ELF (used in Linux and most other versions of Unix) and Mach-O (used in Mac OS X).
Read more about Portable Executable: Brief History, .NET, Metadata, and The PE Format, Use On Other Operating Systems
Famous quotes containing the word portable:
“Wotever is, is right, as the young nobleman sveetly remarked wen they put him down in the pension list cos his mothers uncles vifes grandfather vunce lit the kings pipe vith a portable tinder-box.”
—Charles Dickens (18121870)