Professional Documents
Culture Documents
2
2
2
Калум-Олдрідж
2 Огляд
Мета віртуальних машин полягає в тому, щоб абстрагувати апаратне забезпечення
одного комп'ютера в декількох середовищах виконання.
Ілюзія, що кожне середовище працює на своєму окремому комп'ютері.
3 Огляд: Компоненти
Хост: основна апаратна система, яка керує віртуальними машинами.
Менеджер віртуальних машин (гіпервізор): Створює та запускає віртуальні машини,
надаючи інтерфейс, ідентичний хосту.
Гість: Програмний компонент віртуальної машини, тобто зазвичай незалежний екземпляр
операційної системи.
4 Огляд: Реалізації
Гіпервізори типу 0: апаратні рішення, які забезпечують підтримку створення та
управління віртуальною машиною через прошивку. Наприклад: IBM LPAR
Гіпервізори типу 1: операційне програмне забезпечення, створене для забезпечення
віртуалізації. Наприклад: VMware ESX
Гіпервізори типу 2: програми, які працюють на стандартних ОС, але надають функції
VMM для гостьових ОС. Наприклад: паралелі, VirtualBox
Емулятори: дозволяє додаткам, написаним для одного апаратного середовища, працювати
на зовсім іншому апаратному середовищі. Екс: CEMU
5 Історія
Віртуальні машини вперше з'явилися комерційно на мейнфреймах IBM в 1972 році.
Забезпечується операційною системою IBM VM.
Однією з проблем ранніх ВМ були дискові системи. Як вирішити багато віртуальних
машин, використовуючи кілька дисків?
Minidisks: Віртуальні диски, де система виділяє стільки треків на фізичних дисках,
скільки потрібно мінідиску.
6 Історія cont.
IBM залишалася майстром віртуалізації протягом багатьох років після її введення.
Формальне визначення для віртуалізації допомогло встановити системні вимоги та ціль
для функціональності.
VMM забезпечує середовище для програм, які по суті ідентичні оригінальній машині.
Програми, що працюють у цьому середовищі, показують лише незначну продуктивність,
зменшується..
ВММ повністю контролює системні ресурси.
7 Переваги та особливості
Хост-система захищена від віртуальних машин. Віртуальні машини захищені один від
одного.
Потенційним недоліком є запобігання розподілу ресурсів.
Може призупинити або зробити «знімки» VM. Може пізніше відновити з тієї ж точки
після створення копії або переміщення VM.
Багато віртуальних машин на одній робочій станції дозволяють розробникам швидко
тестувати і портувати різні версії своїх програм.
18 Апаратна допомога
Без деякого рівня апаратної підтримки віртуалізація була б неможливою.
Intel додала нову підтримку віртуалізації в послідовних поколіннях сімейства x86 і
тепер бінарний переклад більше не потрібен.
AMD і Intel звернулися до управління пам'яттю, яке дозволяє VMM не повинні
впроваджувати програмне забезпечення ДНЯЗ.
Стандартний контролер прямого доступу до пам'яті (DMA) приймає адресу цільової
пам'яті та пристрій введення/виведення джерела та передає дані між ними без дії ОС.
Без цієї апаратної допомоги гість може спробувати налаштувати передачу DMA, яка
впливає на VMM або інших гостей.
25 Паравіртуалізація
Паравіртуалізація представляє гостю систему, яка схожа, але не ідентична бажаній
системі гостя.
Гість повинен бути змінений, щоб працювати на паравіртуалізованому віртуальному
обладнанні.
Ця додаткова робота призводить до більш ефективного використання ресурсів і меншого
рівня віртуалізації.
Xen VMM реалізує кілька методів для оптимізації продуктивності гостей, а також
господарів.
Представляє чисті та прості абстракції пристроїв, що дозволяють ефективне
введення/виведення даних.
Не впроваджує ДНЯЗ. Кожен гість має свої власні таблиці сторінок, встановлені
тільки для читання.
Гіперкаль проводиться від гостя до гіпервізора VMM, коли потрібна зміна.
26 Програмування-середовище віртуалізації
Мова програмування призначена для запуску в спеціально побудованому
віртуалізованому середовищі.
Віртуальна машина Java (JVM) є особливо помітним прикладом з конкретними методами
безпеки та управління пам'яттю.
Для Java програми працюють в середовищі JVM, що означає, що будь-яка система може
запустити програму Java, припускаючи наявність JVM.