Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операцiйнi системи та середовища6.05.07(Антонов...doc
Скачиваний:
11
Добавлен:
04.05.2019
Размер:
801.79 Кб
Скачать
    1. Сучасні системи програмування

Система програмування – це комплекс програмних засобів, призначених для кодування, тестування, налагоджування програмного забезпечення. Вона вміщує такі основні складові частини, як транслятори, компілятори, редактори, налагоджувачі, компонувачі, бібліотеки.

Транслятор – це програма, яка переводить вхідну програму, що написана початковою мовою у еквівалентну до неї програму вихідною мовою. Транслятор – це частина системного програмного забезпечення обчислювальної системи; він складається з набору машинних команд та даних і виконується комп’ютером, як і всі інші програми, у межах ОС.

Компілятор – це програма, яка перекладає вхідну програму на еквівалентну до неї об‘єктну програму мовою машинних команд чи мовою асемблера. Будь-який компілятор є транслятором, а не навпаки. Результуюча програма компілятора називається обєктною програмою або обєктним кодом. Файл, до якого вона записана, називається обєктним файлом. Така програма не може безпосередньо виконуватись на комп’ютері, тому що вона не прив’язана до конкретної області пам’яті, де мають розташовуватись її код та дані.

Інтерпретатор – це програма, яка сприймає вхідну програму вхідною мовою й виконує її. Інтерпретатор аналізує текст вхідної програми, але не породжує результуючу програму, а одразу виконує вхідну відповідно з її змістом, заданим семантикою мови, якою вона написана. Результатом роботи інтерпретатора є результат, заданий змістом програми, якщо вона є правильна синтаксично, і повідомлення про помилку, якщо програма написана синтаксично помилково. Інтерпретатор перетворює програму на мову машинних кодів, оскільки без цього виконання її на комп‘ютері є неможливе, але ці коди породжуються, виконуються й знищуються інтерпретатором. Користувач бачить результат виконання цих кодів, тобто результат виконання вхідної програми.

Текстові редактори – це програми, які дозволяють створювати, змінювати, опрацьовувати вхідні тексти програм мовами високого рівня. Виникнення інтегрованих середовищ дозволило включити текстові редактори безпосередньо до їхнього складу. З розвиненням інтегрованих середовищ, які об’єднали можливості текстових редакторів та командну мову компілювання, процеси написання текстів і створювання програмного забезпечення стали єдиним цілим.

Налагоджувачі – це засоби покрокового налагодження програм безпосередньо за їхнім вхідним текстом внаслідок об’єднання можливостей налагоджувача та редактора.

Компонувачі – це програми, призначені для сполучування між собою об’єктних файлів та файлів бібліотек. Результатом роботи компонувача є виконуваний файл, який вміщує весь текст результуючої програми мовою машинних кодів. Компонувач обирає з першого об’єктного модуля програмну секцію та привласнює їй початкову адресу; програмні секції решти об’єктних модулів дістають адреси відносно першої в порядку їхнього написання. Одночасно з поєднанням текстів окремих модулів програм до них долучаються секції даних, таблиці ідентифікаторів та зовнішніх імен. Дозволяються міжсекційні посилання та посилання на бібліотекі. Зазвичай компонувач формує простий програмний модуль, створений як єдине ціле. У більш складних випадках компонувач може створювати програмні модулі з оверлейними структурами, об’єктні модулі бібліотек, модулі бібліотек, які долучаються динамічно.

Жодна програма, створена компонувачем, не може бути виконана, тому що вона працює не з реальними адресами комірок пам’яті, а з відносними адресами. Компонувач створює для програми простір відносних адрес чи імен. Тому потрібні засоби, які виконували б перетворювання відносних адрес на реальні адреси фізичної пам’яті безпосередньо в момент запускання програми на виконання. Цей процес називається трансляцією адрес і в сучасних обчислювальних системах виконується апаратно за підтримкою 32-розрядних процесорів методами сегментної, сегментно-сторінкової та сторінкової організації пам‘яті. У момент запускання програми операційна система для виконання трансляції адрес завантажує до оперативної пам’яті спеціальні системні таблиці дескрипторів. Ці функції цілковито належать ОС і не виконуються в системах програмування.