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.

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

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 redigera

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 redigera

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

Externa länkar redigera