Portable Executable

related topics
{system, computer, user}
{math, number, function}
{company, market, business}
{line, north, south}
{food, make, wine}

The Portable Executable (PE) format is a file format for executables, object code and DLLs, 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.

Contents

Brief history

Microsoft migrated to the PE format with the introduction of the Windows NT 3.1 operating system. All later versions of Windows, including Windows 95/98/ME, support the file structure. The format has retained limited legacy support to bridge the gap between DOS-based and NT systems. For example, PE/COFF headers still include an MS-DOS executable program, which is by default a stub that displays the simple message "This program cannot be run in DOS mode" (or similar). PE also continues to serve the changing Windows platform. Some extensions include the .NET PE format (see below), a 64-bit version called PE32+ (sometimes PE+), and a specification for Windows CE.

Full article ▸

related documents
L4 microkernel family
MMIX
GNU Hurd
Qt (toolkit)
Intel i860
Shannon–Hartley theorem
Shareaza
Integrated development environment
Disk partitioning
MAC address
System call
JPEG 2000
Microsoft Access
BBC BASIC
Subversion (software)
Cygwin
Wikipedia:Free On-line Dictionary of Computing/T - W
Bit
Locality of reference
Resource Interchange File Format
Slackware
Wikipedia:Free On-line Dictionary of Computing/L - N
Multiplexer
Motorola 68000 family
MX record
Forward error correction
Encapsulated PostScript
REBOL
Non-return-to-zero
GNU Privacy Guard