실행 파일 형식 비교

Comparison of executable file formats

이것은 바이너리 실행 가능 파일 포맷의 비교입니다.이 포맷은 적절한 실행 가능 로더에 의해 로드되면 소프트웨어에 의해 해석되지 않고 CPU에 의해 직접 실행될 수 있습니다.실행 파일에는 바이너리 애플리케이션 코드 외에 재배치 및 픽스업 정보를 포함한 헤더 및 테이블과 다양한 종류의 메타데이터를 포함할 수 있습니다.이러한 형식 중 가장 일반적으로 사용되는 형식은 PE(Microsoft Windows), ELF(Linux 및 대부분의 Unix 버전), Mach-O(MacOSiOS 버전), MZ(DOS)입니다.

형식명 운영 체제 파일 이름 확장자 명시적 프로세서 선언 임의 섹션 메타데이터[a] 디지털 서명 문자열 테이블 기호 테이블 64비트 팻 바이너리 아이콘을 포함할 수 있습니다.
OS/360 OS/360 및 그 후속 제품 및 VS/9, 메인프레임 운영 체제 없음. 아니요. 아니요. 아니요. 아니요. 아니요. 네. 네. 아니요. 아니요.
GOFF IBM MVS 및 z/OS 메인프레임 운영 체제 없음. 아니요. 아니요. 네. 아니요. 네. 네. 네. 아니요. 아니요.
a. Unix와 같은 없음. 아니요. 아니요. 아니요. 아니요. 네, 그렇습니다[1]. 네, 그렇습니다[1]. 내선 아니요. 아니요.
커피 Unix와 같은 없음. 파일별로 있음 네. 아니요. 아니요. 네. 네. 내선 아니요. 아니요.
ECOFF Ultrix, Tru64 UNIX, IRIX 없음. 파일별로 있음 네. 아니요. 아니요. 네. 네. 네. 아니요. 아니요.
XCOFF IBM AIX, BeOS, "클래식" Mac OS 없음. 파일별로 있음 네. 아니요. 아니요. 네. 네, 그렇습니다[2]. 네. 아니요. 아니요.
엘프 Unix 라이크, OpenVMS, R4 이후의 BeOS, Haiku, SerenityOS 없음(단,.elf비공식적으로[citation needed] 사용되는 경우도 있습니다.) 파일별로 있음 네. 네. 네, 그렇습니다[3]. 네. 네, 그렇습니다[4]. 네. 내선[5] 내선[6]
마하오[7] NextSTEP, macOS, iOS, watchOS, tvOS 없음. 섹션별 예 일부(최대 256개 섹션으로 제한) 네. 네. 네. 네. 네. 네. 아니요.
somerset. HP-UX, MPE/ix ? 불명 불명 아니요. 아니요. 불명 네. 아니요. 불명 아니요.
아미가 흥크 아미가OS 없음. 아니요. 네. 네. 아니요. 아니요. 네. 아니요. 네. 아니요.
PEF[8] "클래식" Mac OS, BeOS(PPC만 해당) 없음. 파일별로 있음 아니요. 아니요. 아니요. 네. 네. 아니요. 아니요. 아니요.
CMD CP/M-86, MP/M-86, 동시 CP/M-86, 퍼스널 CP/M-86, S5-DOS, 동시 DOS, 동시 DOS 286, FlexOS, S5-DOS/ST, 동시 DOS 386, 멀티 사용자 시스템 .CMD 아니요(x86 한정) 네. 아니요. 아니요. 내선 내선 아니요. 아니요. 아니요.
FlexOS 186 FlexOS 186, FlexOS 286, S5-DOS/ST, S5-DOS/MT, 4680 OS, FlexOS 386, 4690 OS .186 아니요(186/188 이후만) 네. 아니요. 아니요. 내선 내선 아니요. 아니요. 아니요.
FlexOS 286 FlexOS 286, S5-DOS/ST, S5-DOS/MT, 4680 OS, FlexOS 386, 4690 OS .286 아니요(286 이상만 해당) 네. 아니요. 아니요. 내선 내선 아니요. 아니요. 아니요.
CP/M-68K CP/M-68K, 동시 DOS 68K, FlexOS 68K .68K 아니요(68000 이상만 해당) 네. 아니요. 아니요. 불명 불명 아니요. 아니요. 아니요.
COM(CP/M) CP/M, MP/M, 동시 CP/M, 퍼스널 CP/M .COM 아니요(8080/Z80만 해당) 확장(BDOS 3 이후만) 아니요. 아니요. 아니요. 아니요. 아니요. 내선 아니요.
COM(DOS) DOS, OS/2, Windows(64비트판 제외), Concurrent CP/M-86(BDOS 3.1만 해당), Concurrent DOS 286, FlexOS, Concurrent DOS 386, 멀티사용자 DOS, 시스템 매니저, REAL/32, DOS Plus .COM 아니요(x86 한정) 아니요. 확장(Novell/Caldera 버전) 아니요. 아니요. 아니요. 내선 내선 아니요.
MZ(DOS) DOS, OS/2, Windows(64비트판 제외), Concurrent DOS 286, FlexOS, Concurrent DOS 386, 멀티사용자 DOS, 시스템 매니저, REAL/32, DOS Plus .EXE 아니요(x86 한정) 네. 확장(Novell/Caldera 버전) 아니요. 내선 내선 내선 아니요. 아니요.
MZ(GEM) GEM, ViewMAX .APP/.ACC 아니요(x86 한정) 네. 아니요. 아니요. 불명 불명 아니요. 아니요. 불명
NE MS-DOS 4.0(멀티태스킹), OS/2, Windows, HX DOS Extender .EXE 불명 불명 불명 아니요. 불명 불명 아니요. 아니요. 네.
LE, (W3, W4) OS/2(2.0 이후만), 일부 DOS 익스텐더 .EXE 파일 (286 이상만) 네. 네. 아니요. 네. 네. 아니요. 아니요. 네.
LX OS/2(2.0 이후만), 일부 32비트 DOS 익스텐더 .EXE 파일별로 있음 네. 네. 아니요. 네. 네, 그렇습니다[9]. 아니요. 아니요. 네.
PE Windows, ReactOS, HX DOS Extender, BeOS(R3만 해당) .EXE 파일별로 있음 네. 네. 네, 그렇습니다[10]. 네. 네. 아니요. 아니요. 네.
PE32+ 창문들 (64비트 에디션만) .EXE 파일별로 있음 네. 네. 네. 네. 네. 네. 네, 그렇습니다[11][failed verification]. 네.
PIM/XIP 팜도스 (MINIMAX 어플리케이션만) .PIM/.XIP 아니요(x86 한정) 네. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
DL MS-DOS 시스템 매니저 애플리케이션(HP LX 시리즈만) .EXM 아니요(186/188 이후만) 네. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요. 아니요.
MP 제약회사 랩 DOS 익스텐더 .EXP 불명(286 이후만) 네. 아니요. 아니요. 불명 불명 아니요. 아니요. 아니요.
P2 Phar Lap 16비트 DOS 익스텐더 .EXP 불명(286 이후만) 네. 아니요. 아니요. 불명 불명 아니요. 아니요. 아니요.
P3 Phar Lap 32비트 DOS 익스텐더 .EXP 불명(386 이후만) 네. 아니요. 아니요. 불명 불명 아니요. 아니요. 아니요.
GEOS PC/GEOS, Geoworks Ensemble, NewDeal Office, Breadbox Ensemble .GEO 불명(x86 한정) 불명 불명 아니요. 불명 불명 아니요. 아니요. 불명

메모들

  1. ^
    메타데이터는 소프트웨어 아키텍처에서 사용되는 보다 추상적이거나 구성 가능한 제어 데이터를 설명하기 위해 사용됩니다.대부분의 실행 파일 형식에는 일반적으로 구성 가능한 특정 동작 런타임 특성을 지정하는 "메타데이터"가 포함됩니다.그러나, 프로그램 「메타데이터」를 스토어드 프로그램 컴퓨팅 아키텍처의 일반적인 측면으로부터 정확하게 구별하는 것은 불가능하지 않은 경우라도 어렵다.머신이 이것을 읽어내고 동작하는 경우, 이것은 계산 명령이며, 접두사 「메타」는 거의 의미가 없다.
    Java에서 클래스 파일 형식에는 Java 컴파일러 및 Java 가상 시스템에서 클래스를 동적으로 연결하고 리플렉션을 지원하기 위해 사용하는 메타데이터가 포함됩니다.Java Platform, Standard Edition, J2SE 5.0 이후 버전에는 개발 도구에서 사용하는 추가 주석을 허용하는 메타데이터 기능이 포함되어 있습니다.
    MS-DOS 에서는, 통상, COM 파일 형식에는 메타데이터가 포함되어 있지 않습니다만, EXE 파일 형식과 Windows PE 형식에는 메타데이터가 포함되어 있습니다.이러한 메타데이터에는 프로그램을 게시한 회사, 프로그램을 만든 날짜, 버전 번호 등이 포함될 수 있습니다.
    에서.NET Framework 실행 파일 형식, 런타임에 반영할 수 있도록 추가 메타데이터가 포함되어 있습니다.

레퍼런스

  1. ^ a b "a.out(5) - FreeBSD Man Pages". Freebsd.org. 10 June 2010. Retrieved 9 July 2012.
  2. ^ "Files Reference – XCOFF Object File Format". IBM.
  3. ^ "elfsign – Freecode". Freshmeat.net. Retrieved 9 July 2012.
  4. ^ "(3elf) - Elf library routines". Uw714doc.sco.com. 25 April 2004. Retrieved 9 July 2012.
  5. ^ "FatELF: Universal Binaries for Linux". Icculus.org. Retrieved 9 July 2012.
  6. ^ "ElfIcon: Icons for ELF files". Compholio.com. Retrieved 9 July 2012.
  7. ^ "Mac OS X ABI Mach-O File Format Reference". Apple Inc. 4 February 2009. Retrieved 9 July 2012.
  8. ^ "MPW Command Reference - DumpPEF". Apple Inc. Archived from the original on 12 May 2008.
  9. ^ "LX - Linear eXecutable Module Format Description". 3 June 1992. Retrieved 7 July 2019.
  10. ^ "Windows Authenticode Portable Executable Signature Format". Microsoft. 29 August 2008. Retrieved 9 July 2012.
  11. ^ "WOW64 Implementation Details". Microsoft. 31 May 2018. Retrieved 5 September 2018.