- •Тема 1.1 Узагальнена структура програмного забезпечення компютерних систем.
- •1.1.1 Основні означення та терміни
- •1.1.2. Поняття операційної системи.
- •1.1.3. Основні поняття системи керування файлами.
- •1.1.4. Інтерфейсні оболонки для організації взаємодії користувача з операційною системою та програмні середовища.
- •1.1.5. Складові системи програмування.
- •1.1.6 Утиліти.
- •Тема 1.2 Еволюція операційних систем
- •1.2.1 Первый период (1945 -1955)
- •1.2.2 Второй период (1955 - 1965)
- •1.2.3 Третий период (1965 - 1980)
- •1.2.4 Четвертый период (1980 - настоящее время)
- •Лекція №2 Тема 1.3 Класифікація операційних систем
- •Класифікація операційних систем
- •1.3.1. По призначенню ос діляться на:
- •1.3.2 По режиму обробки даних розрізняють:
- •1.3.3 За областю використання
- •1.3.4 За засобом взаємодії з комп’ютерною системою ос діляться на:
- •1.3.5 За основним архітектурним принципом ос діляться на:
- •Тема 1.4 Основні принципи побудови операційних систем
- •1.4.1 Принцип модульності
- •1.4.2. Принцип функціональної вибірковості
- •1.4.3. Принцип генерованості ос
- •1.4.4.Принцип функціональної надлишковості
- •1.4.5 Принцип віртуалізації
- •Принцип незалежності програм від зовнішніх пристроїв
- •Принцип сумісності
- •Принцип відкритої і нарощуваної ос
- •Принцип мобільності (переносимості)
- •1.4.10 Принцип забезпечення безпеки обчислень.
- •Тема 1.5 Реалізація архітектури операційних систем.
- •1.5.1 Монолітні системи
- •1.5.2 Багаторівневі системи
- •1.5.3 Системи з мікроядром
- •1.5.4 Концепція віртуальних машин
- •Тема 1.6 Операційна система та її оточення
- •1.6.1 Взаємодія ос і апаратного забезпечення.
- •1.6.2 Взаємодія ос і виконуваного програмного коду
- •Самостійна робота №4 Тема 1.7 Особливості архітектури: unix і Linux
- •17.1 Базова архітектура unix.
- •1.7.2 Архітектура Linux.
- •Тема 1.8 Особливості архітектури: Windows xp
- •1.8.1 Компоненти режиму ядра
- •1.8.2 Компоненти режиму користувача
- •1.8.3 Об'єктна архітектура Windows xp
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-розрядних процесорів методами сегментної, сегментно-сторінкової та сторінкової організації пам‘яті. У момент запускання програми операційна система для виконання трансляції адрес завантажує до оперативної пам’яті спеціальні системні таблиці дескрипторів. Ці функції цілковито належать ОС і не виконуються в системах програмування.
