Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Архітектура ОС. Визначити типові архітектури операційних систем. Навести приклади




Любая сложная система должна иметь понятную и рациональную структуру, то есть разделяться на части — модули, имеющие вполне законченное функциональное назначение с четко оговоренными правилами взаимодействия. Ясное понимание роли каждого отдельного модуля существенно упрощает работу по модификации и развитию системы. Напротив, сложную систему без хорошей структуры чаще проще разработать заново, чем модернизировать.

Функциональная сложность операционной системы неизбежно приводит к сложности ее архитектуры, под которой понимают структурную организацию ОС на основе различных программных модулей. Обычно в состав ОС входят исполняемые и объектные модули стандартных для данной ОС форматов, библиотеки разных типов, модули исходного текста программ, программные модули специального формата (например, загрузчик ОС, драйверы ввода-вывода), конфигурационные файлы, файлы документации, модули справочной системы и т. д.

Большинство современных операционных систем представляют собой хорошо структурированные модульные системы, способные к развитию, расширению и переносу на новые платформы. Какой-либо единой архитектуры ОС не существует, но существуют универсальные подходы к структурированию ОС.

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

Описане завдання може розрізнятися залежно від типа архітектури ядра і способу її реалізації.

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

Переваги: Швидкість роботи, спрощена розробка модулів.

Недоліки: Оскільки всё ядро працює в одному адресному просторі, збій в одному з компонентів може порушити працездатність всієї системи.

В цьому випадку компоненти операційної системи є не самостійними модулями, а складовими частинами однієї великої програми. Така структура операційної системи називається монолітним ядром (monolithic kernel). Монолітним ядром є набір процедур, кожна з яких може викликати кожну. Всі процедури працюють в привілейованому режимі.

Модульне ядро — сучасна, вдосконалена модифікація архітектури монолітних ядер операційних систем комп'ютерів.

На відміну від «класичних» монолітних ядер, що вважаються нині застарілими, модульні ядра, як правило, не вимагають повної перекомпіляції ядра при зміні складу апаратного забезпечення комп'ютера. Замість цього модульні ядра надають той або інший механізм підвантаження модулів ядра, що підтримують те або інше апаратне забезпечення (наприклад, драйверів). При цьому підвантаження модулів може бути як динамічною так і статичною.

Модульні ядра зручніше для розробки, чим традиційні монолітні ядра, що не підтримують динамічне завантаження модулів, оскільки від розробника не вимагається багатократна повна перекомпіляція ядра при роботі над якою-небудь його підсистемою або драйвером. Виявлення, локалізація, відладка і усунення помилок при тестуванні також полегшуються.

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

Переваги: Стійкість до збоїв устаткування, помилок в компонентах системи.

Недоліки: Передача даних між процесами вимагає накладних витрат.

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

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

Гібридні ядра це модифіковані мікроядра, роботи, що дозволяють для прискорення, запускати «неіснуючі» частини в просторі ядра.

Визначити типові архітектури операційних систем. Навести приклади.

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...