1   2   3   4   5   6   7   8   9   10
Ім'я файлу: 1-126.pdf
Розширення: pdf
Розмір: 1940кб.
Дата: 12.12.2021
скачати
Принцип віртуальності
Побудова віртуальних ресурсів, їх розподіл і використання тепер застосовуються практично в будь-якій ОС. Цей принцип дозволяє представити структуру системи у вигляді певного набору планувальників процесів і розподільників ресурсів (моніторів)
і використовувати єдину централізовану схему розподілу ресурсів. Найприроднішим і закінченим проявом концепції віртуальності є поняття віртуальної машини. По суті, будь-яка операційна система, будучи засобом розподілу ресурсів і організовуючи за певними правилами управління процесами, приховує від користувача і його додатків реальні апаратні і інші ресурси, замінюючи їх деякою абстракцією. В результаті користувачі бачать і використовують віртуальну машину як якийсь пристрій, здатний сприймати їх програми, написані на певній мові програмування, виконувати їх і видавати результати. При такому мовному представленні, користувача абсолютно не цікавить реальна конфігурація обчислювальної системи, способи ефективного використовування її компонентів і підсистем. Він мислить і працює з машиною в термінах мови, що використовується ним і тих ресурсів, які йому надаються в рамках віртуальної машини. Реалізація цього принципу дозволяє такій ОС мати дуже сильну перевагу перед аналогічними ОС, що не мають такої властивості. Прикладом реалізації принципу віртуальності може служити VDM-машина (virtual DOS machine)
– захищена підсистема, що надає повне середовище MS-DOS і консоль для виконання
MS-DOS додатків. Одночасно може виконуватися практично довільне число VDM- сесій. Такі VDM-машини є і в системах Microsoft Windows, і в OS/2.

10. Класифікація ОС, за призначенням
1.1.ОС великих ЕОМ (мейнфреймів). Основною характеристикою є продуктивність введення-виведення. Оснащують значною кількістю периферійних пристроїв.
Використовують для надійної обробки значних обсягів даних.
1.2.Серверні ОС. Головна характеристика - здатність обслуговувати велику кількість запитів користувачів до спільно використовуваних ресурсів. Важливу роль для них відіграє мережна підтримка.
1.3.Персональні ОС. Особлива увага в персональних ОС приділяється підтримці графічного інтерфейсу користувача і технологій мультимедіа.
1.4.ОС реального часу. У такій системі кожна операція має бути гарантовано виконана в заданому часовому діапазоні. ОС реального часу можуть керувати польотом космічного корабля, технологічним процесом або демонстрацією відеороликів.
1.5.Вбудовані ОС. До них належать керуючі програми для різноманітних мікропроцесорних систем. До таких систем ставлять особливі вимоги: розміщення в малому обсязі пам‘яті, підтримка спеціалізованих засобів введення-виведення, можливість прошивання в постійному запам‘ятовувальному пристрої.
11. Класифікація ОС за режимом обробки задач.
- Одно програмні. Така ОС забезпечує роботу одної задачі одного користувача.
- Мульти (багато) програмні. ОС дозволяє одночасно виконувати декілька програм одного користувача. Основна мета мультипрограмування — підвищення продуктивності обчислювальної системи за рахунок розподілення її ресурсів між декількома завданнями. Будь-яка затримка у виконанні однієї програми (наприклад, для здійснення операцій уведення-виведення даних) використовується для виконання
інших (таких же, або менш важливих) програм.
- Багатокористувацькі. Дозволяє одночасно обслуговувати багато задач багатьох користувачів, поділяється на мульти-процесорну та мульти-машинну (мережева ОС).
12. Класифікація ОС за способами побудови.
- Мікроядерні. Ядро складаються зі скороченого набору процедур, що займаються тільки диспетчеризацією процесів та управлінням апаратурою обчислювальної системи. Яскравим прикладом мікроядерної ОС є ОСРЧ QNX.
- Монолітні. У ядро ОС включено повний набір функцій. У захищеному режимі виконуються як процедури диспетчеризації так і планування використання ресурсів.
Монолітними можна назвати ОС Windows та Linux. Слід зауважити, що ядро ОС
Windows не можливо змінити, його початкові коди не доступні і немає програми для збірки (компіляції) цього ядра. А ось у випадку з Linux є можливість самостійно зібрати таке ядро, яке нам необхідно, включивши в нього тільки ті програмні модулі і драйвери, які ми рахуємо доцільним, включити саме в ядро (а не звертатися до них з ядра).

13. Охарактеризуйте підсистему керування ресурсами.
Під час виконання програмного коду процесор бере інструкції й дані з оперативної (основної) пам’яті комп’ютера. При цьому така пам’ять відображається у вигляді масиву байтів, кожен з яких має адресу.
Основна пам’ять є одним із видів ресурсів, що розподіляться між процесами. ОС відповідає за виділення пам’яті під захищений адресний простір процесу і за вивільнення пам’яті після того, як виконання процесу буде завершено. Обсяг пам’яті, доступний процесу, може змінюватися в ході виконання (динамічний розподіл пам’яті).
ОС повинна забезпечувати можливість виконання програм, які окремо або в сукупності перевищують за обсягом доступну основну пам’ять. Для цього в ній має бути реалізована технологія віртуальної пам’яті. Така технологія дає можливість розміщувати в основній пам’яті тільки ті інструкції й дані процесу, які потрібні в поточний момент часу, при цьому вміст іншої частини адресного простору зберігається на диску.
Для захисту від несанкціонованого доступу ОС має забезпечувати наявність засобів аутентифікації користувачів та їхньої авторизації.
14. Охарактеризуйте підсистему керування введенням-виведенням.
Підтримка пристроїв введення-виведення в ОС звичайно здійснюється на двох рівнях. До першого, нижчого, рівня належать драйвери — програмні модулі, які керують пристроями конкретного типу з урахуванням усіх їхніх особливостей. До другого рівня належить універсальний інтерфейс введення-виведення, зручний для використання у прикладних програмах.
ОС має реалізовувати загальний інтерфейс драйверів введення-виведення, через який вони взаємодіють з іншими компонентами системи. Такий інтерфейс дає змогу спростити додавання в систему драйверів для нових пристроїв.
Сучасні ОС надають великий вибір готових драйверів для конкретних периферійних пристроїв. Що більше пристроїв підтримує ОС, то більше в неї шансів на практичне використання.

15. Охарактеризуйте підсистему керування файлами та файлові системи.
Файл — це набір даних у файловій системі, доступ до якого здійснюється за
іменем. Термін «файлова система» може вживатися для двох понять: принципу організації даних у вигляді файлів і конкретного набору даних (зазвичай відповідної частини диска), організованих відповідно до такого принципу. У рамках ОС може бути реалізована одночасна підтримка декількох файлових систем.
Файлові системи розглядають на логічному і фізичному рівнях. Логічний рівень визначає зовнішнє подання системи як сукупності файлів (які звичайно перебувають у каталогах), а також виконання операцій над файлами і каталогами (створення, вилучення тощо). Фізичний рівень визначає принципи розміщення структур даних файлової системи на диску або іншому пристрої.
16. Призначення та особливості ядра операційної системи.
Усі операції, що пов’язані з процесами, виконуються під керуванням ядра. Ядро
– невелика частина ОС, що працює в захищеному режимі процесора і відноситься до найбільш інтенсивно використовуваних компонентів ОС
Одною з найважливіших операцій ядра є обробка переривань. Коли ядро обробляє біжуче переривання, воно заблоковує інші переривання і дозволяє їх знову тільки після завершення обробки біжучого переривання. При постійному потоці переривань може скластися, ситуація, що ядро блокуватиме переривання протягом тривалого часу, тоді система не буде мати можливості ефективно реагувати на переривання. Ядро розробляється таким чином, щоб воно виконувало тільки мінімально можливу попередню обробку кожного переривання, а потім передавало це переривання на подальшу обробку відповідному системному процесові.

17. Основні функції ядра операційної системи.
Ядро, як правило, містить програми для реалізації наступних функцій:
- обробка переривань;
- створення та знищення процесів;
- перемикання процесів зі стану в стан;
- диспетчеризація;
- припинення та активізація процесів;
- синхронізація процесів;
- організація взаємодії між процесами;
- маніпуляція блоками керування процесами (PCB);
- підтримка операцій вводу-виводу;
- підтримка розподілу та перерозподілу пам’яті;
- підтримка механізму виклику-повернення при звертанні до процедур;
- підтримка функцій з обліку роботи машини.
18. Основні види архітектури операційних систем
- Монолітні системи. ОС, у яких усі базові функції сконцентровані в ядрі, називають монолітними системами. У разі реалізації монолітного ядра ОС стає продуктивнішою (процеcop не перемикається між режимами під час взаємодії між її компонентами), але менш надійною (весь її код виконується у привілейованому режимі,
і помилка в кожному з компонентів
є критичною).
- Багаторівневі системи. Компоненти багаторівневих ОС утворюють ієрархію рівнів
(шарів, layers), кожен з яких спирається на функції попереднього рівня. Найнижчий рівень безпосередньо взаємодіє з апаратним забезпеченням, на найвищому рівні реалізуються системні виклики
- Системи з мікроядром. Один із напрямів розвитку сучасних ОС полягає в тому, що у привілейованому режимі реалізована невелика частка функцій ядра, які є мікроядром (microkernel). Інші функції ОС виконуються процесами режиму користувача (серверними процесами, серверами). Сервери можуть відповідати за підтримку файлової системи, за роботу із процесами, пам’яттю тощо.
- Концепція віртуальних машин. У системах віртуальних машин програмним шляхом створюють копії апаратного забезпечення (відбувається його емуляція). Ці копії (віртуальні машини) працюють паралельно, на кожній із них функціонує програмне забезпечення, з яким взаємодіють прикладні програми і користувачі.

19. Операційні системи з монолітним ядром.
ОС, у яких усі базові функції сконцентровані в ядрі, називають монолітними системами. У разі реалізації монолітного ядра ОС стає продуктивнішою (процеcop не перемикається між режимами під час взаємодії між її компонентами), але менш надійною (весь її код виконується у привілейованому режимі, і помилка в кожному з компонентів є критичною).
Монолітність ядра не означає, що всі його компоненти мають постійно перебувати у пам’яті. Сучасні ОС дають можливість динамічно розміщувати в адресному просторі ядра фрагменти коду (модулі ядра). Реалізація модулів ядра дає можливість також досягти його розширюваності (для додання нової функціональності досить розробити і завантажити у пам’ять відповідний модуль).
20. Багаторівневі операційні системи.
Компоненти багаторівневих ОС утворюють ієрархію рівнів (шарів, layers), кожен з яких спирається на функції попереднього рівня. Найнижчий рівень безпосередньо взаємодіє з апаратним забезпеченням, на найвищому рівні реалізуються системні виклики. У традиційних багаторівневих ОС передача керування з верхнього рівня на нижній реалізується як системний виклик. Верхній рівень повинен мати права на виконання цього виклику, перевірка цих прав виконується за 26 підтримки апаратного забезпечення. Практичне застосування цього підходу сьогодні обмежене через низьку продуктивність.

21. Операційні системи з мікроядром.
Один із напрямів розвитку сучасних ОС полягає в тому, що у привілейованому режимі реалізована невелика частка функцій ядра, які є мікроядром (microkernel). Інші функції ОС виконуються процесами режиму користувача (серверними процесами, серверами). Сервери можуть відповідати за підтримку файлової системи, за роботу із процесами, пам’яттю тощо.
Мікроядро здійснює зв’язок між компонентами системи і виконує базовий розподіл ресурсів. Щоб виконати системний виклик, процес (клієнтський процес, клієнт) звертається до мікроядра. Мікроядро посилає серверу запит, сервер виконує роботу і пересилає відповідь назад, а мікроядро переправляє його клієнтові (рис. 2.1).
Клієнтами можуть бути не лише процеси користувача, а й інші модулі ОС.
Перевагами мікроядрового підходу є:
- невеликі розміри мікроядра, що спрощує його розробку й налагодження;
- висока надійність системи, внаслідок того що сервери працюють у режимі користувача й у них немає прямого доступу до апаратного забезпечення;
- більша гнучкість і розширюваність системи (непотрібні компоненти не займають місця в пам’яті, розширення функціональності системи зводиться до додавання в неї нового сервера);
- можливість адаптації до умов мережі (спосіб обміну даними між клієнтом і сервером не залежить від того, зв’язані вони мережею чи перебувають на одному комп’ютері).
Рис. 2.1. Виконання системного виклику в системі з мікроядром
Головним недоліком мікроядрового підходу є зниження продуктивності. Замість двох перемикань режиму процесора у разі системного виклику відбувається чотири (два — під час обміну між клієнтом і мікроядром, два – між сервером та мікроядром).

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

22. Концепція віртуальних машин в побудові операційних систем.
У системах віртуальних машин програмним шляхом створюють копіїапаратного забезпечення (відбувається його емуляція). Ці копії (віртуальні машини) працюють паралельно, на кожній із них функціонує програмне забезпечення, з яким взаємодіють прикладні програми і користувачі.
Ядро системи, яке називалося монітором віртуальних машин (VM Monitor,
MBМ), виконувалося на фізичній машині, безпосередньо взаємодіючи з її апаратним забезпеченням. Монітор реалізовував набір віртуальних машин (ВМ). Кожна ВМ була точною копією апаратного забезпечення, на ній могла бути запущена будь -яка ОС, розроблена для цієї архітектури. Найчастіше на ВМ встановлювали спеціальну однокористувацьку ОС CMS (підсистема діалогової обробки, ПДО). На різних ВМ могли одночасно функціонувати різні ОС.
Коли програма, написана для ПДО, виконувала системний виклик (рис. 2.2), його перехоплювала копія ПДО, запущена на відповідній віртуальній машині. Потім ПДО виконувала відповідні апаратні інструкції, наприклад інструкції введення-виведення для читання диска. Ці інструкції перехоплював МВМ і перетворював їх на апаратні
інструкції фізичної машини.
Рис. Архітектура VM/370

23. Засоби апаратної підтримки операційних систем.
Взаємодію ОС і апаратного забезпечення слід розглядати з двох боків. З одного боку,
ОС повинна реалізовувати засоби взаємодії з апаратним забезпеченням, з іншого — архітектуру комп’ютера треба проектувати з урахуванням того, що на комп’ютері функціонуватиме ОС.
Інтерфейс апаратного забезпечення має бути повністю схований від прикладних програм і користувачів, усю роботу з ним виконує ОС. Розглянемо особливості апаратної підтримки цього інтерфейсу і його використання в сучасних ОС.
Сучасні апаратні архітектури комп’ютерів реалізують базові засоби підтримки операційних систем. До них належать: система переривань, привілейований режим процесора, засоби перемикання задач, підтримка керування пам’яттю (механізми трансляції адрес, захист пам’яті), системний таймер, захист пристроїв введення- виведення, базова система введення-виведення (BIOS).
Система переривань є основним механізмом,що забезпечуєфункціонування ОС. За допомогою переривань процесор отримує інформацію про події, не пов’язані з основним циклом його роботи (отриманням інструкцій пам’яті та їхнім виконанням).
Переривання бувають двох типів: апаратні і програмні.
Апаратне переривання — це спеціальний сигнал (запит переривання, IRQ), що передається процесору від апаратного пристрою.
До апаратних переривань належать:
- переривання введення-виведення, що надходять від контролера периферійного пристрою; наприклад, таке переривання генерує контролер клавіатури при натисканні на клавішу;
- переривання, пов’язані з апаратними або програмними помилками (такі переривання виникають, наприклад, у разі збою контролера диска, доступу до забороненої області пам’яті або ділення на нуль).
Програмні переривання генерує прикладна програма, виконуючи спеціальну
інструкцію переривання. Така інструкція є в системі команд більшості процесорів.
Обробка програмних переривань процесором не відрізняється від обробки апаратних переривань.
Якщо переривання відбулося, то процесор негайно передає керування спеціальній процедурі — оброблювачеві переривання. Після виходу з оброблювача процесор продовжує виконання інструкцій перерваної програми.
Можна сказати, що сучасні ОС керовані перериваннями (interrupt-driven), бо, якщо ОС не зайнята виконанням якої-небудь задачі, вона очікує на переривання, яке й за лучає її до роботи.

Для реалізації привілейованого режиму процесора в одному з його регістрів передбачено спеціальний біт (біт режиму), котрий показує, у якому режимі перебуває процесор. У разі програмного або апаратного переривання процесор автоматично перемикається у привілейований режим, і саме тому ядро ОС (яке складається з оброблювачів переривань) завжди отримує керування в цьому режимі. За будь-якої спроби безпосередньо виконати привілейовану інструкцію в режимі користувача відбувається апаратне переривання.
Засоби перемикання задач дають змогу зберігати вміст регістрів процесора
(контекст задачі) у разі припинення задачі та відновлювати дані перед її подальшим виконанням.
Механізм трансляції адрес забезпечує перетворення адрес пам’яті,зякими працює програма, в адреси фізичної пам’яті комп’ютера. Апаратне забезпечення генерує фізичну адресу, використовуючи спеціальні таблиці трансляції.
Захист пам’яті забезпечує перевірку прав доступу до пам’яті під часкожної спроби його отримати. Засоби захисту пам’яті інтегровані з механізмами трансляції адрес: у таблицях трансляції утримується інформація про права, необхідні для їхнього використання, і про ліміт (розміри ділянки пам’яті, до якої можна отримати доступ з
їхньою допомогою). Неможливо одержати доступ до пам’яті поверх ліміту або за відсутності прав на використання таблиці трансляції.
Системний таймер є апаратним пристроєм,який генерує перериваннятаймера через певні проміжки часу. Такі переривання обробляє ОС, інформацію від таймера найчастіше використовують для визначення часу перемикання задач.
Захист пристроїв введення-виведення ґрунтується на тому,що всіінструкції введення-виведення визначені як привілейовані. Прикладні програми здійснюють введення-виведення не прямо, а за посередництвом ОС.
Базова система введення-виведення (BIOS) —службовий програмний код,що зберігається в постійному запам’ятовувальному пристрої і призначений для ізоляції
ОС від конкретного апаратного забезпечення. Зазначимо, що засоби BIOS не завжди дають змогу використати всі можливості архітектури: наприклад, процедури BIOS для архітектури ІА/32 не працюють у захищеному режимі. Тому сучасні ОС використовують їх тільки для початкового завантаження системи.


1   2   3   4   5   6   7   8   9   10

скачати

© Усі права захищені
написати до нас