Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_Р1.doc
Скачиваний:
5
Добавлен:
01.04.2025
Размер:
1.84 Mб
Скачать

1.1.3. Основні поняття системи керування файлами.

Системи управління файлами призначені для організації зручного доступу до даних, організованих як файли. Завдяки СУФ, замість доступу до даних на низькому рівні із зазначенням конкретних фізичних адрес потрібного запису, використовується логічний доступ із зазначенням імені файла та запису в ньому. Сучасні ОС мають хоча б одну систему управління файлами, а частіше їх кілька, й ОС може працювати з ними одночасно. Додаткові файлові системи можна встановлювати або монтувати, в тому числі й ті, що перебувають у мережі на інших комп‘ютерах. Будь-яка файлова система розроблена для конкретної ОС, а інші можуть бути встановлюваними.

1.1.4. Інтерфейсні оболонки для організації взаємодії користувача з операційною системою та програмні середовища.

Інтерфейсні оболонки поширюють можливості користувача з керування ОС. Окрім того, можна встановлювати додаткові інтерфейсні оболонки, які можуть, наприклад, змінювати вбудовані в систему можливості. Наприклад, різні варіанти графічного інтерфейсу X Windows в системах UNIX: K Desktop Environment для LINUX, різні варіанти інтерфейсів ОС Windows, які можуть замінювати Explorer. В усіх цих варіантах замінюється лише інтерфейсна оболонка, а операційне середовище є незмінним; вона інтегрована в ОС і визначається програмними інтерфейсами, тобто АРІ (Application Program Interface). Інтерфейс прикладного програмування вміщує керування процесами, пам‘яттю та введенням/виведенням.

Деякі ОС можуть виконувати програми, створені для інших ОС. Приміром, усі UNIX-подібні системи підтримують стандарт POSIX (Portable Operating System Interface for Computer Environments) – перенесений інтерфейс операційної системи для обчислювального середовища, незалежний від апаратної платформи.

До цього класу системного програмного забезпечення можна віднести емулятори, які дозволяють моделювати в одній ОС якусь іншу обчислювальну машину або ОС. Наприклад, є система емуляції WH WARE, яка дозволяє запустити в середовищі LINUX ОС Windows.

Термін операційне середовище означає відповідний інтерфейс, необхідний програмам для звернення до ОС з метою отримання певної послуги (сервісу) – виконати операцію введенням/виведення, дістати або звільнити пам‘ять тощо.

1.1.5. Складові системи програмування.

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

Деякі ОС, так звані крос-системи, дозволяють створювати програмне забезпечення, яке потім буде встановлюватись на апаратній платформі інших мікропроцесорів та мікроконтролерів. Зокрема, для персональних комп‘ютерів на базі мікропроцесорів фірми Intel I80x86 існує велика кількість крос-систем.

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

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

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

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

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

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

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

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