Первая страница
Наша команда
Контакты
О нас

    Головна сторінка



Загальні принципи компонування. Компонувальники І принципи їх роботи

Скачати 272.47 Kb.

Загальні принципи компонування. Компонувальники І принципи їх роботи




Скачати 272.47 Kb.
Сторінка1/2
Дата конвертації02.05.2017
Розмір272.47 Kb.
  1   2


У цій роботі розглянемо організацію виконуваного коду в операційних системах.
Організа́ція (від грец. ὄργανον - інструмент) - цільове об'єднання ресурсів для досягнення певної мети.
Маши́нний код, маши́нна мова в інформатиці - набір команд (інструкцій), які виконуються безпосередньо центральним процесором комп'ютера без транслятора. Кожен тип центрального процесора має власний машинний код.
Операційна система Операці́йна систе́ма, скорочено ОС (англ. operating system, OS) - це базовий комплекс програм, що виконує управління апаратною складовою комп'ютера або віртуальної машини; забезпечує керування обчислювальним процесом і організовує взаємодію з користувачем.
Спочатку зупинимося на створенні виконуваних файлів під час компонування і на тому, як цей процес впливає на структуру таких файлів, потім на понятті динамічної бібліотеки і різних способах завантаження коду таких бібліотек.
Програмування - процес проектування, написання, тестування, зневадження і підтримки комп'ютерних програм. Програмування поєднує в собі елементи інженерії (існує навіть відповідна спеціальна галузь інженерії - програмна інженерія (англ. software engineering)
Виконуваний файл - це файл який містить зрозумілі комп'ютеру спеціальні інструкції і може бути виконаний (безпосередньо або через командний інтерпретатор операційної системи) як комп'ютерна програма.


Загальні принципи компонування. Компонувальники і принципи їх роботи

Компонуванням (linking) називають процес створення фізичного або логічного виконуваного файлу (модуля) із набору об'єктних файлів і файлів бібліотек для подальшого виконання або під час виконання і вирішення проблеми неоднозначності імен, що виникає при цьому.
Компонувальник (також редактор зв'язків, лінкер - від англ. Link editor, англ. linker) - програма, яка виконує компонування - приймає на вхід один або кілька об'єктних модулів і збирає у виконуваний модуль.
Фі́зика (від грец. φυσικός природний, φύσις природа) - природнича наука, яка досліджує загальні властивості матерії та явищ у ній, а також виявляє загальні закони, які керують цими явищами. Це наука про закономірності Природи в широкому сенсі цього слова.
Ло́гіка (грец. λογιχη від грец. logos - слово, значення, думка, мова) - наука про закони і різновиди мислення, способи пізнання та умови істинності знань і суджень.

У разі створення фізичного виконуваного файлу для подальшого виконання компонування називають статичним; у такому файлі міститься все потрібне для виконання програми.

Статика - розділ механіки, в якому вивчають умови рівноваги нерухомих тіл.
Застосунок, застосовна програма або прикладна програма (англ. application, application software, app) - користувацька комп'ютерна програма, що дає змогу вирішувати конкретні прикладні задачі користувача.
У разі створення логічного виконуваного файлу під час ви­конання програми компонування називають динамічним; у цьому випадку образ виконуваного модуля збирають «на ходу».

Компілятор створює один об'єктний файл за один запуск, при цьому до інших об'єктних файлів або бібліотек не звертається, тому він ніколи не пов'язує зов­нішні посилання із конкретними адресами, тобто не розв'язує їх, а отже, не може створити виконуваний файл. Це робота компонувальника (linker).

Його основні функції такі: об'єднує всі частини програми у виконуваний файл; збирає разом код і дані секцій одного призначення з різних об'єктних файлів; задає адреси для коду і даних, розв'язуючи при цьому зовнішні посилання.

У результаті за статичного компонування на диск записують виконуваний файл, готовий до запуску, за динамічного — виконуваний файл теж буде створено, але йому для виконання потрібні додаткові файли.

Дина́міка (грец. δύναμις - сила) - розділ механіки,в якому вивчаються причини виникнення механічного руху. Динаміка оперує такими поняттями, як маса, сила, імпульс, момент імпульсу, енергія.
Результат, пі́дсумок, (заст. ску́ток, вислід) - кінцевий наслідок послідовності дій. Можливі результати містять перевагу, незручність, вигоду, збитки, цінність і перемогу. Результат є етапом діяльності, коли визначено наявність переходу якості в кількість і кількості в якість.


Статичне компонування виконуваних файлів

Об'єктні файли

Під час компонування виконуваний файл будують із об'єктних файлів (object files), які створює компілятор. Об'єктний файл має заголовок, що містить розмір ділянок коду і даних, а також зсув таблиці символів; об'єктний код (інструкції і дані, згенеровані компілятором), який звичайно розділений на поіменовані ділянки (секції) залежно від призначення; таблицю символів (symbol table).

Таблиця символів — це спеціальний розділ об'єктного файлу, що містить визначення зовнішніх імен, які задають імена та відносні адреси файлових об'єктів, призначених для використання в інших файлах;

Символіка - сукупність символів, які використовуються певною групою осіб, організацією, громадським чи політичним утворенням, державою тощо.
Компілятор (англ. Compiler від англ. to compile - збирати в ціле) - комп'ютерна програма (або набір к. програм), що перетворює (компілює) вихідний код, написаний певною мовою програмування (мова джерела, англ. source language)
Озна́чення, ви́значення чи дефіні́ція (від лат. definitio) - роз'яснення чи витлумачення значення (сенсу) терміну чи поняття. Слід зауважити, що означення завжди стосується символів, оскільки тільки символи мають сенс що його покликане роз'яснити означення.
зовнішні посилання (глобальні символи, що використовуються у файлі), які зазвичай містять зсув відповідної інструкції та необхідний символ.

Інформацію про зовнішні посилання називають також інформацією для на­лаштування адрес (relocation information).


Завантаження виконуваних файлів за статичного компонування

Виконуваний файл, отриманий внаслідок описаного раніше статичного компону­вання, містить усе необхідне для створення процесу. Завантаження такого файлу у пам'ять виконує окремий компонент ОС — програмний завантажувач (program loader).

Си́мвол (англ. symbol символ) - знак, сутність, яка позначає іншу сутність.
Компонент (англ. component, нім. Komponente f) - різновид, складова частина чогось.
Він звичайно відображає виконуваний файл в адресний простір процесу (здебільшого файл відображають не як єдине ціле, а секціями, причому ділянки пам'яті для секцій виділяє також завантажувач) та ініціалізує керуючий блок процесу таким чином, щоб процес був у стані готовності до виконання.

Зазначимо, що під час відображення виконуваного файлу у пам'яті автоматично розміщають його код та ініціалізовані дані. Стек і динамічну ділянку па м'яті зазвичай створюють заново, при цьому для динамічної ділянки компілятор і компонувальник можуть тільки задати її початок, а всю інформацію із керування стеком визначає компілятор із використанням адресації щодо покажчика стека (який буде встановлено завантажувачем).

Створення Ство́рення (англ. Creation, нім. Schöpfung, івр. בריאת העולם‎) - доктринальна позиція у багатьох релігіях та філософських системах вірувань, яка твердить, що за створенням всесвіту стоїть Божество. Богословські пояснення створення всесвіту можуть мати різноманітні форми, однією з основних є релігійна догма створення.

  1   2


Скачати 272.47 Kb.

  • Загальні принципи компонування. Компонувальники
  • Статичне компонування виконуваних файлів Обєктні файли
  • Завантаження виконуваних файлів за статичного компонування