Исполнимый модуль

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Исполни́мый (исполня́емый) мо́дуль, исполняемый файл (англ. executable file) — файл, содержащий программу в виде, в котором она может быть исполнена компьютером. Перед исполнением программа загружается в память, и выполняются некоторые подготовительные операции (настройка окружения, загрузка библиотек).

Структура 32-разрядного PE-файла

Обычно, в исполняемом файле данные (информация) хранятся в каком-либо формате (например, ELF; см. список) и состоят из нескольких частей:

  • заголовки[⇨];
  • инструкции (код)[⇨];
  • другое[⇨].

В заголовках могут указываться:

  • предполагаемые исполнители инструкций;
  • параметры (настройки) исполнителя инструкций и окружения;
  • формат инструкций (кода).

Исполнитель инструкций — это некий аппаратно-программный или программный комплекс, способный исполнить инструкции (код). Примеры исполнителей[1]:

Инструкции (код) — это:

Программа, записанная с помощью инструкций, предназначена для решения полезной задачи, например, для воспроизведения музыки или видео.

Обычно, инструкции предназначены для ограниченного набора исполнителей, например, только для процессоров архитектуры x86-64, или только для виртуальной машины Java. Кроме того, исполняемые файлы зачастую содержат вызовы библиотечных функций, в частности, вызовы функций ОС. Таким образом, исполняемым файлам может быть свойственна зависимость не только от архитектуры, но и от версий:

  • библиотек;
  • ядра ОС;
  • компонентов (модулей) ОС.

Исполняемый файл отличают от других файлов:

  • по имени файла (например, файл с расширением .exe или .bin содержит машинный код, .jar — байт-код виртуальной машины Java, .pyc — байт-код виртуальной машины Python);
  • по содержимому файла (по сигнатуре — уникальным последовательностям байт, содержащимся внутри файла и постоянных для файлов одного формата; по shebang «#!» (англ.));
  • по атрибутам файла в файловой системе (например, по биту «execute» в ОС, подобных UNIX).

Кроме заголовков и инструкций (кода), исполняемые файлы могут содержать:

Для уменьшения размера исполняемые файлы или их части могут сжиматься (см. упаковка исполняемых файлов).

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

Примечания[править | править вики-текст]

  1. Теоретически, все исполнители являются интерпретаторами инструкций.
  2. «Бинарник» (от англ. binary) — название исполняемого файла, содержащего машинный код (то есть, бинарного или двоичного файла), на сленге программистов.