Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1-90.101-109.111.118.127-128.doc
Скачиваний:
5
Добавлен:
17.09.2019
Размер:
866.3 Кб
Скачать

29. Ресурс. Класифікація ресурсів.

Ресурси ОС - це набір пов'язаних фізичних та логічних об'ектом, сприймається як єдине ціле, необхідних для вирішення завдань або всякий споживаний об'єкт (незалежно від форми його існування), що володіє деякою практичної цінністю для споживача, є ресурсом. Ресурси розрізняються за запасу виділюваних одиниць ресурсу і бувають в цьому сенсі вичерпані і невичерпні. Ісчерпаемость ресурсу, як правило, призводить до життєвих конфліктів у середовищі споживачів, Для врегулювання конфліктів ресурси повинні розподілятися між споживачами по каким-то правилам, в найбільшій мірі їх задовольняють. Обчислювальну систему або ЕОМ можна представити як обмежену послідовність функціональних елементів. володіють потенційними можливостями виконання з їх допомогою або над ними дій, пов'язаних з обробкою, зберіганням або передачею даних. Такі елементи "користуються попитом", тобто споживаються іншими елементами, які є в загальному випадку користувачами. Рівень деталізації елементів, що виділяються по запитам для використання в системі, може бути різним. Можна в якості елемента, що виділяється для використання, розглядати всю ЕОМ в цілому. У рівній мірі окремий розряд комірки пам'яті можна трактувати як окремий розподіляємо елемент. Ступінь деталізації залежить від того, хто і яким чином вимагає і використовує виділені елементи системи. Тому для визначеності будемо вважати, що споживачем виділюваних елементів обчислювальної системи будуть процеси, які розвиваються в ній. Всі виділяються за запитами від процесів елементи системи ототожнюються з поняттям ресурсів. Саме в цьому сенсі далі і трактується поняття ресурсу. У відповідності з ГОСТ 19781 - 83 ресурсом є засіб обчислювальної системи, яке може бути виділено процесу на певний період часу.

31. Концепція віртуалізації. Віртуалізація ресурсів, приклади. Поняття віртуальної машини. Віртуалізація в обчисленнях — процес представлення набору обчислювальних ресурсів, або їх логічного об'єднання, який дає які-небудь переваги перед оригінальною конфігурацією. Це новий віртуальний погляд на ресурси, не обмежених реалізацією, географічним положенням або фізичною конфігурацією складових частин. Зазвичай віртуалізовані ресурси включають обчислювальні потужності і сховище даних.Прикладом віртуалізації є симетрична мультипроцесорна комп'ютерна архітектура, яка використовує більш за один процесор. Концепція віртуалізації. Новий напрям віртуалізації, який дає загальну цілісну картину всієї інфраструктури мережі за допомогою техніки агрегації. Віртуальна машина - модель обчислювальної машини, створеної шляхом віртуалізації обчислювальних ресурсів: процесора, оперативної пам'яті, пристроїв зберігання та вводу і виводу інформації. Віртуальна машина — це оточення, яке представляється для «гостьової» операційної системи, як апаратне. Проте насправді це програмне оточення, яке симуліруєтся програмним забезпеченням хостової системи. Ця симуляція має бути досить надійною, щоб драйвери гостьової системи могли стабільно працювати. При використанні паравіртуалізациі, віртуальна машина не симулює апаратне забезпечення, а, замість цього, пропонує використовувати спеціальне API. Віртуалізація ресурсів . 1)Розділення ресурсів (partitioning) — це розділення єдиного, зазвичай чималого для цього, ресурсу (наприклад дисковий простір або пропускний канал мережі) на деяку кількість менших, легше використовуваних ресурсів того ж типа. Наприклад, до реалізації розділення ресурсів можна віднести Проект Crossbow, що дозволяє створювати декілька віртуальних мережевих інтерфейсів на основі одного фізичного. 2) Агрегація, розподіл або додавання безлічі ресурсів у великі ресурси або об'єднання ресурсів. Наприклад, симетричні мультипроцесорні системи об'єднують безліч процесорів; RAID і дискові менеджери об'єднують безліч дисків в один великий логічний диск; RAID і мережеве устаткування використовує безліч каналів, об'єднаних так, щоб вони представлялися, як єдиний широкосмуговий канал. На мета-рівні комп'ютерні кластери роблять все вищеперелічене. Інколи сюди ж відносять мережеві файлові системи абстраговані від сховищ даних на яких вони побудовані, наприклад, Vmware VMFS, Solaris ZFS, Netapp WAFL.

32. Функції менеджера віртуальних машин. Менеджер віртуальних машин (VMM) - це справжня операційна система, лежача в основі Windows . Вона створює і підтримує робоче середовище для управління віртуальними машинами. Вона також надає безліч важливих сервісів іншим VXD. Три головні сервіси наступні:

-управління пам'яттю;

-обробка переривань;

-перемикання гілок.

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

• основний планувальник

• роздільник машинного часу або вторинний планувальник

Завдання основного планувальника - вибір гілки з найбільшим пріоритетом, яку потрібно виконати. Цей вибір відбувається, поки VMM обслуговує переривання (таке як переривання таймера). Результат визначає яка гілка/віртуальна машина отримає контроль, коли VMM припинить обробку переривання. Основний планувальник працює за правилом "все або нічого". Або гілка буде запущена, або ні. Вибирається лише одна гілка. VMM і інші VXD можуть підвищувати/понижати пріоритет виконання гілок, VMM підвищить пріоритет обробника переривання, щоб у нього був шанс виконати своє завдання в максимально короткий термін. Вторинний планувальник використовує сервіси основного планувальника, щоб резервувати час CPU для гілок, які розділяють високий пріоритет виконання, шляхом виділення кожній гілці кванта машинного часу (time-slice). Коли гілка виконується, поки її time-slice не витік, вторинний планувальник підвищує пріоритет виконання наступної гілки, щоб вона була вибрана основним планувальником для запуску. Ви можете отримати більше інформації по цій темі з "Системного програмування для Windows 95" Вальтера Вони (Walter Oney''s Systems Programming for Windows 95) і документація по Windows 95 DDK. [C] Iczelion, пер. Aquila.

33. Задачі. Різновидності задач: процеси та потоки (нитки). Задача - програма в процесі виконання (в термінології операційних систем UNIX використовують термін "процес"). Послідовна зміна предметів і явищ, що відбувається закономірним порядком.Сукупність ряду послідовних дій, спрямованих на досягнення певного результату. Кожна задача фактично виконується у власному адресовому просторі, тобто таким чином, якби вона виконувалась в одно-задачній операційній системі, завдяки чому значно зменьшується вплив окремих задач однією на одну та на ядро ситеми, а завдяки цьому - і надійність системи.Кожна задача отримує стільки віртуальної оперативної пам'яті, скільки потрібно, а не стільки, скільки є наявної фізичної оперативної пам'яті. Процеси і потоки. Додаток, розроблений для Windows, складається з одного або більше процесів.

Процес – це набір віртуального простору пам'яті, кодів, даних і системних ресурсів. Процесор виконує нитки, не процеси, тобто будь-яке 32-бітове застосування має як мінімум один процес, а процес завжди має як мінімум одну нитку виконання, відому як основну нитку. Потік (Thread, нитка) - це об'єкт операційної системи, ув'язнений в процес і що реалізовує яке-небудь завдання. Кожен додаток (процес) Win32 має принаймні один потік, який називається головним (основним, стандартним). Кожен процес може містити декілька потоків. (Примітка. Вживання потоків можливе лише для 32-розрядних застосувань. У 16-розрядній ОС, додатки, що використовують потоки, працювати не будуть). Таким чином, потік - це основна одиниця, якою операційна система виділяє процесорний час, і мінімальний «квант» кода, який може бути запланований для виконання. Крім того, це частина процесу, що виконується в кожен момент часу. Потік працює в адресному просторі процесу і використовує ресурси, виділені процесу. Будь-який процес містить хоч би один потік. Кожен процес 16-розрядного windows-застосування або програми MS-DOS має лише один потік, тоді як процеси 32-розрядних windows-застосувань можуть включати їх декілька.

36. Функції ОС по управлінню пам'яттю. Головне завдання комп'ютерної системи - виконувати програми. Програми, протягом виконання, разом з даними, до яких вони мають доступ повинні знаходитися в головній (основною, оперативною) пам'яті. Таким чином, пам'ять (storage, memory) є найважливішим ресурсом, що вимагає ретельного управління. Частина ОС, яка управляє пам'яттю, називається менеджером пам'яті. В процесі еволюції в менеджерах пам'яті сучасних ОС було реалізовано декілька основоположних ідей.

По-перше, ідея сегментації. Мабуть, спочатку сегменти пам'яті з'явилися у зв'язку з необхідністю усуспільнення процесами фрагментів програмної коди без чого кожен процес повинен був зберігати в своєму адресному просторі дублюючу інформацію. Ці окремі ділянки пам'яті, що зберігають інформацію, яку система відображує в пам'ять декількох процесів, отримали назву сегментів. Пам'ять стала двовимірною. Адреса складається з двох компонентів: номер сегменту, зсув усередині сегменту. Далі виявилося зручним розміщувати в різних сегментах дані різних типів. Також можна контролювати характер роботи з конкретним сегментом, приписавши йому атрибути, наприклад, права доступу або типи операцій, дозволені з даними, що зберігаються в сегменті. Більшість сучасних ОС підтримують сегментну організацію пам'яті . У деякій архітектурі (Intel, наприклад) сегментація підтримується устаткуванням.

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

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

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

Існує декілька схем управління пам'яттю. Вибір тієї або іншої схеми залежить від багатьох чинників. Розглядаючи ту або іншу схему поважно враховувати:

Механізм управління пам'яттю або ідеологію побудови системи управління.

Архітектурні особливості використовуваної системи.

Структури даних в ОС, використовувані для управління пам'яттю.

Алгоритми, використовувані для управління пам'яттю.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]