Исполнимый модуль
Материал из Википедии — свободной энциклопедии
Исполня́емый мо́дуль (также исполняемый файл, англ. executable file) — это разновидность файла, содержимое которого является готовой к непосредственному исполнению компьютерной программой.
Чаще всего он содержит двоичное представление машинных инструкций для определённого процессора (по этой причине на программистском сленге в отношении него используют слово бинарник — кальку с английского binary, но может содержать и инструкции на интерпретируемом языке программирования, для исполнения которых требуется интерпретатор. В отношении последних часто используется термин скрипт.
Исполнением бинарных файлов занимаются аппаратно- и программно-реализованные машины. К первым относится центральные процессоры, ко вторым — виртуальные машины, например, виртуальная машина Java. Формат бинарного файла определяется архитектурой исполняющей его машины. (Обзор форматов содержится в статье об объектных модулях.) Известны машины, реализованные как аппаратно, так и программно, например, процессоры семейства x86 и виртуальная машина VMWare.
Исполняемый статус файла чаще всего определяется принятыми соглашениями. Так, в одних операционных системах исполняемые файлы распознаются благодаря соглашению об именовании файлов (например, путем указания в конце имени расширения файла — «.exe» или «.bin»), тогда как в других исполняемые файлы обладают специфичными метаданными (например, битом разрешения «execute» в UNIX-подобных операционных системах).
В современных компьютерных архитектурах исполняемые файлы содержат большие объемы информации, не являющейся компьютерной программой: описание программного окружения, в котором программа может быть выполнена, данные для отладки программы, используемые константы, информацию, которая может потребоваться операционной системе для запуска процесса (например, рекомендуемый размер кучи), и даже описания структур окон графической подсистемы, используемых программой.
Зачастую исполняемые файлы содержат вызовы библиотечных функций, например, вызовы функций операционной системы. Таким образом, наряду с просессорозависимостью (машинозависимым является любой исполняемый файл) исполняемым файлам может быть свойственна зависимость от операционной системы.
[править] См. также
- ELF
- Portable Executable (PE)