Linear Executable
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/05/18 08:29 UTC 版)
拡張子 | .exe |
---|---|
マジック ナンバー | MZ 0x00(×10) LE |
開発者 | マイクロソフト IBM |
種別 | 実行可能、共有ライブラリ |
派生元 | New Executable |
拡張 | Portable Executable |
Linear Executableとは、OS/2やMicrosoft Windowsそして、一部のDOSエクステンダで使われたオブジェクトファイルフォーマットである。最初にOS/2 2.0で導入された。
特徴はIA-32のプロテクトモードを意識した、16ビットおよび32ビットの複数のセグメントに渡る実行イメージを保持可能なことである。特にWindowsにおいては、その性質上16ビットコードと32ビットコードが混在する必要のある仮想デバイスドライバ(VxD)で使われた。
他のEXEフォーマットの拡張フォーマットと同様に互換性のために、対応しないオペレーティングシステムで実行した場合、対応していない旨を表示して終了する等のDOSプログラムを最初に付ける事になっている。その拡張ヘッダから指されたオフセットに'LE'または'LX'と言うシグネチャで始まるファイルヘッダがある。(WindowsのVxDでは常にLE)
尚、Windows NT系に於いてはドライバも全てPortable Executableになっており使われていない。
歴史
LEフォーマットは、1990年代初頭、 16ビットから32ビットコンピューティングへの移行期に初めて導入された。これは、16ビットアプリケーションで使用されていた従来のNew Executable(NE)フォーマットの拡張として開発された。メモリ管理とアドレス指定の制限により、32ビットの代替としてLEが開発された。LEは、システムを保護モードで動作させることでNEの機能を拡張した。
LX と呼ばれる形式の拡張バージョンは、OS/2 Warp 専用に開発され、LE 形式に対する更なる拡張をサポートした。
構造
LE形式のファイルは、DOSシステムとの下位互換性を保つため、MZヘッダー(標準DOS実行可能ヘッダー)で始まる。MZヘッダー内のオフセットには0x3C、フィールドと呼ばれる32ビット値がありe_lfanew、拡張ヘッダー(LEヘッダー)へのポインタが格納される。LEヘッダーはASCII文字LE(OS/2 Warpの場合はLX)で始まる。Linear Executableでは、ファイルのオフセットと構造体は通常、LEヘッダーの先頭からの相対位置、またはファイル内の絶対オフセットとして定義される。
外部リンク
固有名詞の分類
- Linear Executableのページへのリンク