Portable Executable

Portable Executable
Filändelse.cpl .exe .dll .ocx .sys .scr .drv

Portable Executable (PE) är ett filformat för exekverbara filer, objektkod och DLL-bibliotek. För Windows NT-operativsystem används formatet bland annat för EXE, DLL, OBJ, SYS (drivrutiner). PE-formatet är en datastruktur som gör det möjligt för Windows programladdare att hantera och köra programkoden som är inbäddad i datastrukturen. PE-formatet är även standard för exekverbara filer i Extensible Firmware Interface (EFI)-miljöer.

Ordet "Portable" avser att formatet kan användas i många olika miljöer och operativsystemsarkitekturer. Bland annat så ingår referenser till dynamiska bibliotek (som används vid dynamisk länkning), import- och exporttabeller för API:n, resurshanteringsdata och tråd-lokalt lagringsutrymme (TLS).

PE-formatet är baserat på COFF-formatet som används i operativsystemsfamiljen Unix. PE kallas därför ibland för PE/COFF.[1]

I Windows NT-baserade system så stöds för närvarande instruktionsuppsättningarna IA-32, IA-64 och x86-64 (AMD64/Intel64). Innan Windows 2000 stödde Windows NT (och därmed även PE) också MIPS, Alpha och PowerPC-uppsättningarna. Windows CE stöder dock fortfarande instruktionsuppsättningarna för flera varianter av MIPS, ARM och SuperH.

Historik

Microsoft introducerade PE-formatet i Windows NT 3.1. Alla senare versioner av Windows (inklusive Windows 95/98/ME) stödjer formatet. Formatet har fortfarande[när?] visst stöd för att överbrygga gapet mellan DOS-baserade system och NT-system. Till exempel innehåller PE-formatet fortfarande ett litet DOS-program som skriver ut texten "Det har programmet kan inte köras i DOS-läge" (eller något i den stilen). PE utvecklas tillsammans med Windowsplattformen. Bland utökningarna finns PE-formatet för .NET, en 64-bits version som kallas PE32+ eller PE+, och en specifikation för Windows CE.

Referenser

  1. ^ Peering Inside the PE: A Tour of the Win32 Portable Executable File Format, Matt Pietrek, MSDN Magazine, Mars 1994: [1]

Externa länkar

  • Microsoft Portable Executable and Common Object File Format Specification (latest edition, OOXML format)[död länk]
  • Microsoft Portable Executable and Common Object File Format Specification (1999 edition, .doc format)
  • The original Portable Executable article by Matt Pietrek (MSDN Magazine, March 1994)
  • Part I. An In-Depth Look into the Win32 Portable Executable File Format by Matt Pietrek (MSDN Magazine, February 2002)
  • Part II. An In-Depth Look into the Win32 Portable Executable File Format by Matt Pietrek (MSDN Magazine, March 2002)
  • Creating the smallest possible PE executable (97 bytes)
  • Detailed description of the PE format by Johannes Plachy[död länk]
  • Windows Authenticode Portable Executable Signature Format