Інсталяційний файл: інструкція із завантаження та запуску

Настановні, або виконувані файли (installation files), іноді називаються двійковими. Тому як їх формат являє собою суцільну послідовність двійкових значень. В обчислювальній техніці інсталяційний файл викликає комп’ютер для виконання зазначених завдань у відповідності з закодованими інструкціями. Цим він відрізняється від звичайного документа, який повинен бути тільки прочитаний. Файл з ім’ям, що закінчуються на .exe є програмою, яка при відкритті примушує операційну систему запустити додаток.

Призначення і виконання файлів

Такі installation files можуть бути написані вручну на машинній мові, хоча набагато зручніше розробляти програмне забезпечення у вигляді вихідного коду на мові високого рівня, який може бути легко зрозумілий програмістом. У деяких випадках вихідний код може бути вказаний на мові асемблера, який тісно пов’язаний з інструкціями машинного коду. Мова високого рівня скомпільовані або в інсталяційний файл машинного коду, або в об’єктний.

Кілька останніх, пов’язані між собою, можуть створити installation files. Вони мають формат контейнера, у вигляді інсталяційного і пов’язаної форматів (ELF). Це структурує згенерований машинний код, наприклад сегментуючи його на розділи:

  • .text – інсталяційний код;
  • .data – статичні змінні;
  • .rodata – статичні константи.

Для виконання системою інсталяційний файл повинен відповідати двійковому інтерфейсу системного застосування (ABI). Найбільш просто він виконується шляхом завантаження в пам’ять і простого переходу до початку адресного простору і виконання його звідти. Але в більш складних інтерфейсах installation files мають додаткові метадані, що визначають окрему точку входу. Наприклад, в ELF точка входу вказується в заголовку в e_entity поле, що визначає адресу віртуальної пам’яті, з якого починається виконання. У GCC (GNU Compiler Collection) це поле встановлюється компонувальником на основі _start символу.