- •Операційні системи виконують дві основні функції:
- •Розширює можливості машини
- •Керує ресурсами
- •Історія появи ос
- •Третє, 1965-1980, інтегральні схеми і багатозадачність
- •Команди керування файловою системою ос Unix
- •Лекція №3
- •Лекція №4
- •Vliw - … послідовність команд і підкоманд; команди використовуються декілька під команд, що «розпаралелюють».. Тому процесу легше жить
Лекція №3
Функціональна складність операційної системи -> складність її архітектури.
Звичайний склад ОС:
Виконувані та об’єктивні модулі стандартних для даної ОС форматів
Бібліотеки різних типів
Модули вихідного тексту програм
Програмні модулі спеціального формату
Конфігураційні файли
Файли документації
Модулі довідкової системи
Інші файли
Звичайний принцип побудови ОС
Розподіл усіх її модулів на дві групи: ядро – модулі, що виконують основні функції ОС; модулі, що виконують додаткові функції ОС.
Функції ядра! Повікіпедити.
Додаткові модулі ОС зазвичай поділяються на такі групи:
Утиліти – програми, що розв’язують окремі задачі управління і супроводу комп’ютерної системи, влпдрідлпрі
Системні програми опрацювання
Бібліотеки процедур
Прикладні програми користувачів
Відмінності привілегійованого і користувацького режиму роботи:
Заборона виконання у користувацькому режимі декотрих критичних команд, пов’язаних з перемиканням процесора з задачі на задачу…
Ван моар.
Багатошаровий підхід
Система складається з ієрархії шарів, кожен з них відповідає за виконання функцій певного рівня ієрархії
Кожен шар обслуговує вищий, виконуючи для нього декотрий набір функцій, котрі створюють міжшаровий інтерфейс
Ю…
Переваги такого підходу:
Значно спрощується розробка системи (спочатку «зверху-вниз» - визначаються функції слоїв і міжсло… інтерфейси, а потім навпаки – реалізація чогось)
Проста модернізація
Багатошарова структура ядра ОС: апаратура – засоби апаратної підтримки ОС – машинно-залежні модулі (програмні модулі, що відображаються специфіку апаратного модуля комп’ютера; у ідеалі має повністю екранувати особливості апаратури) – базові механізми ядра (виконує найбільш примітивні операції ядра, такі як програмне перемикання контекстних процесів, стилізація переривання тощо) – менеджери ресурсів (складається з потужних функціональних модулів, реалізує стратегічні задачі керування основними ресурсами; усередині цього шару існують тісні взаємні зв’язки) – інтерфейс системних викликів (взаємодіє безпосередньо з прикладними програмами та системними утилітами, створюючи прикладний програмний інтерфейс)
Шари ядра – траляляляляляляляляляляля
Класична архітектура (на базі ядра). Висновки:
Усі основні функції ОС, що складають багатошарове ядро, виконуються у привілегійованому режимі.
Деякі додаткові функції ОС оформляються у вигляді за стосунків і виконуються у користувацькому режимі поруч із звичайними користувацькими програмами (стаючи системними утилітами бао опрацьовуючи ми програмами).
Кожна прикладна програма користувацького режиму працює у власному адресному просторі і захищена тим самим від якого-небудь втручання інших прикладних програм.
Код ядра, ….
Лекція №4
Багато ОС успішно працюють на апаратних платформах без існуючих змін у своєму складі. Це пояснюється тим, що хоч деталі засобів різняться…. У результаті, у ОС можна виділити достатньо компактний шар машинно-залежних компонентів ядра і зробити основні шари ОС загальними для різних платформ. Чіткої межі між апаратною та програмною організацією не існує.
Типовий набір апаратної підтримки ОС:
Засоби підтримки привілегійованого – основано на системному регістрі процесора, що містить деякі ознаки, що визначають режим роботи процесора, у тому числі і поточний режим; + визначає допустимий…
Засоби трансляції адрес – виконує операції перетворення віртуальних адрес, що знаходяться у коді процесора, у адреси фізичної пам’яті; таблиця адрес міститься у оперативній пам’яті, а апаратура містить лише вказівники на ці адреси
Засіб переключення процесора – призначений для швидкого збереження контексту процесу, призупиняючи його, і швидкого відновлення контексту процесу, який стає активним
Система переривання – дозволяє комп’ютеру реагувати на зовнішні події, синхронізувати виконання процесів, роботу пристроїв введення-виведення, переходити з однієї програми на іншу; при виникненні умов переривання його джерело подає сигнал, що перериває виконання процесу і викликає автоматичний перехід на зараннє визначену процедуру (процедуру обробки переривання)
Системний таймер – часто реалізується у вигляді швидкодіючого лічильника; необхідний ОС, щоб витримувати задані інтервали часу
Засіб захисту областей пам’яті – забезпечує на апаратному рівні перевірку можливостей програмного коду, здійснює з даними у певних областях такі операції як запис, читання, виконання
Машинно-залежні компоненти ОС
Одна й та сама ОС не може без будь-яких змін встановлюватися на комп’ютер, що відрізняється або типом процесору, або способом організації обчислювального процесу, або і тим і іншим. У модулях ядра ОС не можуть не відобразитися такі особливості апаратних платформ як тип переривання, формат таблиці посилань на процедури обробки переривань, системні регістри і т.д. Одначе, ядро ОС можна спроектувати таким чином, що лише частина модулів буде машинно-залежною, а решта – машинно-незалежною. Для зменшення кількості машинно-залежних модулів виробники ОС зазвичай обмежують універсальність машинно-незалежних модулів.
Переносимість… тре:
Більша частина коду має бути написана на мові, трансляція якого є на усіх машинах, на які передбачається перенести ОС
Об’єм машинно-залежних частин коду має, по можливості, бути мінімізованим
Апаратно-залежний код має бути локалізований у декількох модулях
Мікроядерна архітектура – альтернатива класичному способу побудови ядра. Її суть полягає у наступному: у привілегійованому режимі лишається працювати лише дуже невелика частина ОС, що називається мікроядром. Воно захищене від інших частин ОС… У його склад входять …. , а також процедури для пересилання повідомлень. Функції мікроядра зазвичай відповідають шарам базових механізмів звичайного ядра. Усі інші, більш високо рівневі функції ядра, оформлюються у вигляді прикладних програм, що працюють у користувацькому режимі. Менеджери ресурсів, що працюють у користувацькому режимі, мають принципіальну відмінність від традиційних системних утиліт і прикладних програм.. : вони зазвичай називаються серверами ОС, тобто, модулями, основним призначенням яких є обслуговування запитів локальних застосувань та інших модулів ОС.
Переваги і недоліки ядерної архітектури
ОС, основана на концепції мікроядра, …. +висока степінь застосування виконання вимог ОС… Короче, максимально відповідає сучасним вимогам, та:
Висока степінь переносимості обумовлення тим, що машинно-залежний код ізольовано у мікроядрі, тому для .. системи треба менше змін, і усі вони логічно груповані
Здатність до розширення притаманна, у високій степені; обумовлена, знову ж таки, архітектурою
Використання мікроядерної архітектури підвищує надійність ОС
Але:
Зниження продуктивності - при системному виклику відбувається 4х-кратна затримка (звичайне ядро – 2х-кратна)
Сумісність ОС – можливість запускати за стосунки у даній ОС, що були написані для іншої ОС. Виділяють:
Двійкова сумісність – досягається у тому випадку, коли можна взяти виконувану програму і запустити її на виконання у середовищі іншої ОС
Сумісність вихідний текстів – потребує наявності відповідного компілятора, … бібліотек і системних викликів; при цьому необхідна перекомпіляція вихідних текстів у новий виконуваний модуль
Залежить від багатьох факторів: головний – архітектура процесора, на якому працює нова ОС. Якщо процесор використовує той самий набір команд, і той самий діапазон адрес, то двійкова сумісність може бути досягнута досить легко, для цього необхідно лише дві речі: виклик функції інтерфейсу прикладного програмування, що містить за стосунки, що підтримуються даною ОС, і внутрішня структура виконуваного модулю має відповідати внутрішній структурі модулів даної системи.
Набагато складніше досягти двійкової сумісності на різних архітектурах: тоді використовується емулятор, що послідовно обирає кожну двійкову інструкцію одного процесора, програмним чином виконує дешифрування для визначення дій, що вона виконує, і, відповідно, виконує еквіваленту підпрограму у інструкціях іншого процесору. Вихід з такої ситуації – використання прикладних програмних засобів. Одна з складових, що формує прикладне середовище, - набір функцій інтерфейсу прикладного програмування, котрі ОС надає своїм застосункам; 60-80% процентів часу витрачається на виконання функцій графічних інтерфейсів користувача, трансляція використовує власні бібліотеки, що імітують внутрішні бібліотеки графічних інтерфейсів, але є написані на інших мовах. Щоб програма, написана для однієї ОС, могла бути виконана у рамках іншої, недостатньо забезпечити … інтерфейсів прикладного програмування… Концепції, закладені у основи ОС, можуть протиречити одна одній: кожна ОС має свої алгоритми обробки помилок, схеми керування пам’яттю, семантику доступу до файлів і графічний інтерфейс користувача, тому для забезпечення сумісності треба організувати у рамках однієї ОС декілька способів керування ресурсами.
Структура ОС:
Монолітні системи – «хаус», неструктуровані; сервісні процедури
Багаторівневі – рівні: 5 – оператор, 4 – програми користувача, 3 – керування введенням-виведенням, 2 – зв’язок оператор-процес, 1 – керування пам’яттю і барабаном, 0 – розподіл процесору та багатозадачність
Віртуальні машини
Екзоядро
Модель клієнт-сервер
Комп’ютерні архітектури: