Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Переваги мікроядерної архітектури




Конспект лекцій по дисципліні

“Операційні системи”

Київ 2003



Основні функції ОС.

1. Забезпечувати завантаження користувальницьких програм в оперативну пам'ять й їхнє виконання.

2. Забезпечувати керування пам'яттю. У найпростішому випадку це вказівка єдиній завантажуваній програмі адреси, на якому кінчається пам'ять, доступна для використання, і починається пам'ять, зайнята системою.

3. Забезпечувати роботу із пристроями довгострокової пам'яті.

4. Надати стандартизований доступ до різних периферійних пристроїв.

5. Надати користувальницький інтерфейс.

У ряді ОС цим функції вичерпуються.(MS-DOS)

Більш розвинені ОС надають додаткові можливості:

1. Паралельне (або псевдопаралельне) виконання декількох завдань.

2. Організація взаємодії завдань один з одним.

3. Організація максимальної взаємодії й поділу ресурсів.

4. Захист системних ресурсів, даних і програм користувача.

5. Аутентифікація користувача (перевірка користувача на предмет того, що він є тим, за кого себе видає й має право виконати ту або іншу операцію)

Класифікація ОС.

По тому, які з перерахованих вище функцій виконують ОС, їх можна розділити на наступні:

ДОС(Дискові операційні системи)

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

Характерний приклад - різні завантажувальні монітори. Такі системи працюють одночасно тільки з однією програмою.

MS DOS для IBM PC - прямий спадкоємець такого монітора.

Існування таких систем обумовлено їхньою простотою й тим, що для їхньої реалізації необхідно мало ресурсів.

Ще одна причина по якій вони можуть використатися навіть на досить потужних машинах - вимога програмної сумісності з ранніми моделями того ж сімейства комп'ютерів.

ОС загального призначення

Сюди ставляться системи, що виконують всі перераховані функції.

Прикладами таких систем є IBMDOS й OC/360 і наші аналоги ОС ЄС.

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

До цього класу ставиться відома ОС Windows 2000, а також системи сімейства UNIX.


 


Системи віртуальних машин.

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

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

Для таких систем характерні високі накладні витрати й порівняно низька надійність. Тому вони рідко використовуються для промислового застосування.

У системах віртуальних машин приділяється велика увага емуляції роботи апаратури.

Часто ці системи є підсистемами ОС загального призначення: наприклад підсистема W0W в Windows NT, Windows 2000, емулятор RT-II в VAX і т.д.

 

Системи реального часу.

Це системи, призначені для полегшення розробки так званих програм реального часу – програм, які управляють некомп'ютерним устаткуванням, часто із твердими тимчасовими обмеженнями.

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

Типовими представниками цього класу систем є відомі системи OS-9 й OS-9000.

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

 

Засоби крос-розробки.

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

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

Прикладами таких ОС є системи програмування мікроконтролерів Intel. Такі системи, як правило, містять у собі:

· набір компіляторів й асемблерів, що працюють на інструментальній машині з “нормальної” ОС;

· бібліотеки, які виконують велику частину функцій ОС при роботі програми (крім функції завантаження);

· засоби налагодження.

Системи проміжних типів.

Є системи, віднести які до одному з перерахованих типів важко. Найбільш відомими з таких систем є MS Windows 3.x й Windows 95. Вони, як ОС використають апаратні засоби процесора для захисту й віртуалізації пам'яті, а навіть забезпечують деяка подоба багатозадачності, але не захищають себе й програми й програми від помилок інших програм (тобто поводяться в цьому змісті як ДОС).

 



Сімейства операційних систем.

Часто існує спадковість між різними ОС.

Така спадковість обумовлена вимогами сумісності й переносимості прикладного ПО, крім того запозиченню окремі удалі рішення.

На основі такої спадковості можна побудувати “генеалогічні дерева” ОС.

Так, наприклад, можна виділити кілька сімейств нині експлуатованих ОС, а також сімейств, які вже вимерли або вимирають.

Процвітають:

· системи для великих комп'ютерів IBM OS-360, IBM-Vm, OS/2;

· сімейство UNIX, у тому числі ОС Linux.



Архітектура ОС.

Найбільш загальним підходом до структуризації операційної системи є поділ всіх її модулів на дві групи:

1. Ядро - модулі, що виконують основні функції ОС.

2. модулі, що виконують допоміжні функції.

Модулі ядра виконують:

· керування процесами

· керування пам'яттю

· керування пристроями вводу-виводу

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

Функції ядра, які можуть викликатися додатками, утворюють інтерфейс прикладного програмування.

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

Допоміжні модулі ОС оформляються або у вигляді програм, або у вигляді бібліотек процедур.

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

Рішення про те, чи є яка-небудь програма частиною ОС чи ні, приймає виробник ОС.

Допоміжні модулі ОС підрозділяються на наступні групи:

· утиліти - програми, що вирішують окремі завдання керування й супроводи комп'ютерної системи (наприклад, програми стиску дисків, архівування даних);

· системні обробні програми - текстові й графічні редактори, компілятори, компоновщики, наладчики(отладчики)?;

· програми надання користувачеві додаткових послуг - спеціальний користувальницький інтерфейс, калькулятор і т.п.

· бібліотеки процедур - спрощують розробку програм (наприклад, бібліотека математичних функцій, функцій вводу-виводу й т.п.).

Допоміжні модулі ОС звертаються до функцій ядра за допомогою системних викликів.

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


 

 


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

Важливою властивістю архітектури, заснованої на ядрі, є можливість захисту кодів і даних операційної системи за рахунок виконання функцій ядра в привілейованому режимі.

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

Додатки ставляться в підлегле положення за рахунок заборони виконання в користувальницькому режимі деяких критичних команд, пов'язаних з перемиканням процесора із завдання на завдання, керуванням пристроями вводу-виводу, доступом до механізмів розподілу й захисту пам'яті.

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

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

Між кількістю рівнів привілеїв, реалізованих апаратно, і кількістю рівнів привілеїв, підтримуваних ОС, немає прямої відповідності.

Так, наприклад, на базі чотирьох рівнів, забезпечуваних процесорами Intel, ОС OS/2 будує трехуровневую систему привілеїв, а Windows NT - дворівневу.

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

Розглянута архітектура ОС, заснована на привілейованому ядрі й додатках користувальницького режиму, стала класичної. Її використають багато відомі ОС: UNIX, VMS, OS/390, OS/2, Windows NT.

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

У цьому випадку обігу програм до ядра здійснюються швидше, але при цьому відсутня надійний апаратний захист пам'яті.





Багатошарова структура ОС

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

· нижній шар - утвориться апаратурами;

· проміжний - ядро;

· верхній шар - модулі, що реалізують допоміжні функції.

 

 


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

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

 

 


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

Строгі правила взаємодії обмовляються тільки між шарам. Усередині шару зв'язки між модулями можуть бути довільними.

Окремий модуль може виконати свою роботу як самостійно, як і звернутися до іншого модуля свого шару, або до нижче лежачого шару через міжшарний інтерфейс.


Достоїнства такої системи організації:

· спрощується розробка системи;

· при модернізації системи легко робити зміни усередині кожного шару, не піклуючись про інші шари.

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

Наприклад:

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

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

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

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

Кожний з менеджерів веде облік вільних і використовуваних ресурсів певного типу й планує їхній розподіл відповідно до запитів програм.

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

· Інтерфейс системних викликів.Це самий верхній шар ядра. Він взаємодіє безпосередньо з додатками й системними утилітами, утворюючи прикладний програмний інтерфейс ОС. Функції, які обслуговують системні виклики, надають доступ до ресурсів системи в зручній і компактній формі, без вказівки деталей їхнього фізичного розташування. Для здійснення таких дій системні виклики звичайно звертаються по допомогу до функцій шару менеджерів ресурсів і т.д.

Наведена розбивка ядра ОС на шари - досить умовна. Така розбивка й розподіл функцій може бути іншим.

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

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

 

Незалежно від того, які функції виконує ОС, вона повинна задовольняти експлуатаційним вимогам. Вона, зокрема, повинна мати наступні якості:

1. Надійність. У випадку помилки в програмному або апаратному встаткуванні система повинна виявити помилку й або спробувати виправити положення. Або сповістити про це користувачеві й постаратися звести до мінімуму збиток.

2. Захист. Користувач не хоче, щоб інші користувачі (якщо він, наприклад, працює в мережі) йому заважали. Тому ОС повинна захищати користувача від впливу чужих помилок і від спроб злочинного втручання.

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

4. Передбачуваність. Вимога, яку користувач може пред'являти до системи, у більшості випадків, непередбачені. Але користувач бажає, щоб обслуговування не дуже сильно мінялося протягом тривалого часу. Зокрема, при введенні програми в машину користувач повинен мати засновані на попередньому досвіді приблизне уявлення про те, коли йому варто очікувати видачі результатів.

5. Зручність. Все ясно, як і те, що універсальних зручностей не існує. Тут може йти мова про певний клас завдань.

Пара слів про виконувані функції:

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

Керування пам'яттю. Керування пам'яттю тісно пов'язано з розподілом процесора. Програми можуть працювати тільки тоді, коли вони перебувають в оперативній пам'яті, але не обов'язково їх тримати там, якщо надія одержати процесор - невелика. У цьому випадку виявиться, що пам'ять, що вони займають - пропадає даремно.

Оперативна пам'ять - це ресурс, що розподіляє теж. Тому система витрачає час для того щоб розташувати інформацію раціонально, намагаючись тримати корисні програми в оперативній пам'яті й знищувати “вільні проміжки” між програмами. Для цього система може використовувати переміщення програм. Це робиться для того, щоб зменшити обсяг даремно використовуваної пам'яті. Переміщення легше здійснити, якщо використовувати спеціальні стратеги організації пам'яті. Ці стратегії дозволяють ОС досить гнучко регулювати обмін інформацією між оперативною й допоміжною пам'яттю.

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

Підхід до розподілу пристроїв впливає як на правильність, так і на ефективність роботи.

Стратегія розподілу впливає й на ефективність використання пристроїв, наприклад, того ж диска.

Ефективний розподіл периферійних пристроїв важко реалізувати по двох причинах:

По-перше. за допомогою існуючих математичних методів не можна провести необхідні дослідження й відшукати оптимальні способи розподілу декількох різних типів пристроїв для загального випадку рішення завдань.

По-друге, ефективність стратегії розподілу дуже важко виміряти.

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

Методи розподілу пристроїв вводу-виводу, контролерів і каналів сильно залежить від пристроїв.

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

Спільне використання інтерпретаторів, редакторів текстів і т.п. можна організувати, якщо ці програми допускають паралельне використання.

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

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




Супервізор.

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

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

Функції супервізора. Функції супервізора можна грубо розділити на чотири області:

· контроль і керування;

· організація зв'язків;

· захист й обмеження;

· обслуговуючі програми;

Контроль і керування. В обов'язки супервізора входить установлення послідовності й контроль керування завдань у системі. Для обробки завдань служать планування порядку виконання завдань, облік споживання або ресурсів й інтерпретація мови керування завданнями. Ці функції можна реалізувати незалежно від супервізора або підкорити йому.

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

Організація зв'язку.У супервізорі передбачені засоби зв'язку між різними програмами, коли дві незалежні програми такі, як файлова система й програми керування пам'яттю хочуть зв'язатися один з одним, вони повинні просити супервізор установити контакт. Після встановлення первісного контакту програмам дозволяється передавати один одному повідомлення, прийнятим у даній системі способом, скажемо, за допомогою “листів” і загального “поштової скриньки”. Первісний зв'язок установлюється через супервізор. Доступна тільки супервізору інформація дозволяє йому також установлювати контакти між системними програмами й програмами користувачів.

Захист й обмеження.Для забезпечення гарантій виконання роботи супервізор повинен накласти деякі обмеження, як на систему, так і на користувачів. Є ряд програм, що обробляють сигнали апаратури, особливо відхилення від нормальних умов. Наприклад, під час роботи програми копіювання може виникнути кілька десятків різних особливих ситуацій, наприклад, збій при читанні або записі, неготовність дисководів до читання або запису, відсутність місця на дискеті для копійованого файлу й т.д.

Коли надходить сигнал про помилку (звичайно це переривання), супервізор повинен вирішити рішення, повторити або навіть викинути завдання. Для всіх цих ситуацій необхідно передбачити відповідні повідомлення й коригувальні дії.

Обмеження повинні накладати на час роботи програми й кількість видаваних нею результатів.

Супервізор може також організувати систему захисту за допомогою спеціальних “паролів”.

Доступ до захищених ресурсів дозволяється тільки по відповідному паролі.

З метою захисту супервізора в деяких системах існують два типи режиму роботи:

· режим супервізора;

· робочий режим.

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

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

Використання супервізора - це приклад побудови ОС на принципі централізованого керування.

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

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

У централізованого супервізора є й істотні недоліки. Так програмам не дозволяється встановлювати зв'язку один з одним самостійно.

Мікроядерна архітектура

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

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

 

 

 


До складу мікроядра входять

  1. Машинно-залежні модулі;
  2. Модулі, що виконують основні базові функції ядра по керуванню процесами;
  3. Обробка переривань;
  4. Керуванню віртуальною пам'яттю;
  5. Пересилання повідомлень і керування вводом-виводом

 

Інші функції ядра оформляються у вигляді програм, що працюють у користувальницькому режимі. У загальному випадку багато менеджерів ресурсів, виконуються у вигляді модулів, що працюють у користувальницькому режимі.

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

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




Переваги мікроядерної архітектури

· Висока переносимість;

· Розширюваність;

· Висока надійність;

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










Последнее изменение этой страницы: 2018-05-29; просмотров: 227.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...