New Executable

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
"Новый" исполняемый файл
Расширение

.exe, .dll, .drv, .scr

Сигнатура

MZ, NE

Разработчик

Microsoft

Тип формата

двоичный, исполняемый, объектный, динамическая библиотека

Расширен из

.EXE

Развит в

Linear Executable
Portable Executable

New Executable — «Новый исполняемый» — формат EXE-файлов, используемый в 16-битных операционных системах таких, как Windows (до версий 3.x включительно), OS/2 1.x и MS-DOS (European MS-DOS 4.0). На данный момент формат файлов является устаревшим и практически не используется.

История[править | править вики-текст]

Формат NE впервые был применен в 1985 году в Windows. Позже его использовали в многозадачной European MS-DOS 4.0 в 1986[2][3], которая вышла между версиями 3.2 и 3.3 основной ветки развития MS-DOS, и в 1987 году в OS/2. Поле целевой операционной системы (платформы) в заголовке файла может принимать значения 01=OS/2 02=Windows 03=European MS-DOS 4.0, что указывает на то, что поддержка OS/2 была запланирована при разработке данного формата во время соглашения о совместной разработки OS/2 между IBM и Microsoft начатой в августе 1985, за несколько месяцев до релиза Windows 1.0 в ноябре 1985.

Формат Portable Executable заменил формат NE в 32-битных и 64-битных версиях Windows, а формат Linear Executables заменил формат NE для 32-битных программ OS/2.

Общие сведения[править | править вики-текст]

В начале файла располагается стандартный заголовок DOS-программ. При запуске NE - программы из MS-DOS запустится DOS - программа (STUB). Обычно она выводит сообщение «This program requires Misrosoft Windows» или «This program cannot be run in DOS mode».

Если программа запущена из Windows, OS/2 или European MS-DOS, система читает двойное слово по адресу 0x003C, которое является адресом в файле заголовка New Executable. Заголовок начинается с сигнатуры "NE" и содержит всю информацию о программе: размер стека и кучи, ресурсы, импортируемые и экспортируемые процедуры, точку входа в программу.

Совместимость[править | править вики-текст]

При запуске из Windows NT или OS/2 2.x NE-программы запускаются под Virtual DOS Machine(NTVDM.EXE и VDM, соответственно), которая обеспечивает их выполнение и почти полную совместимость с операционной системой DOS. Начиная с Windows NT 6.0 (Vista) оболочка Windows не поддерживает извлечение ресурсов из New Executable, поэтому, вместо иконки программы, в проводнике будет отображаться стандартная иконка .exe файла. Также, в 64-битных редакциях Windows запуск таких программ невозможен, т. к. 64-битные дескрипторы системы не могут быть урезаны до необходимых 16 бит.

Расширения[править | править вики-текст]

Исполняемые файлы в формате NE имеют расширения: .exe (программа), .dll (динамическая библиотека), .drv (драйвер), .scr (экранная заставка). Но файл Kernel.exe (он же KRNL286.EXE или KRNL386.EXE) выполняет двойные функции: он является динамической библиотекой, организующей взаимодействие с системой, и в это же время - программой, выполняющей роль ядра Windows. Так же DLL библиотека в формате NE может быть запущена, как программа (в отличие от PE), что, однако, не может принести положительных результатов.


[1]