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

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

Исполни́мый (исполня́емый) мо́дуль, исполняемый файл (англ. executable file) — файл, содержащий программу в виде, в котором она может быть (после загрузки в память и настройки по месту) исполнена компьютером; Данные системы команд (программный код) некоторого аппаратно-программного комплекса, способного их исполнить, решая при этом, конечную полезную задачу.

Чаще всего он содержит двоичный[1] машинный код, но может содержать и псевдокод, например байт-код или инструкции (скрипт) на интерпретируемом языке программирования, для исполнения которых требуется интерпретатор.

Исполнением бинарных файлов занимаются аппаратно- и программно-реализованные машины. К первым относятся например — процессоры семейств x86, SPARC или аппаратные части технологий Jazelle, PicoJava. Ко вторым — виртуальные машины, например, виртуальная машина Java, .NET Framework, VMware или программные части Jazelle, PicoJava. Формат бинарного файла определяется архитектурами исполняющих его машин.

Статус исполнимости файла чаще всего определяется принятыми соглашениями. Так, в одних операционных системах исполнимые файлы распознаются благодаря соглашению об именовании файлов (например, путём указания в имени расширения файла — .exe или .bin), тогда как в других исполнимые файлы обладают специфичными метаданными (например, битом разрешения execute в UNIX-подобных операционных системах).

В современных компьютерных архитектурах исполнимые файлы содержат большие объемы данных, не являющихся компьютерной программой: описание программного окружения, в котором программа может быть выполнена, данные для отладки программы, используемые константы, данные, которые могут потребоваться операционной системе для запуска процесса (например, рекомендуемый размер кучи), и даже описания структур окон графической подсистемы, используемых программой.

Зачастую исполнимые файлы содержат вызовы библиотечных функций, например, вызовы функций операционной системы. Таким образом, наряду с процессорозависимостью (машинозависимым является любой бинарный исполняемый файл, содержащий машинный код) исполняемым файлам может быть свойственна зависимость от версии операционной системы и её компонент.

Примечания[править | править исходный текст]

  1. На программистском сленге в отношении него используют слово бинарник (Бинарный файл) — кальку с английского binary