Контакти

Включення підтримки віртуалізації в биосе. Включення віртуалізації на процесорі AMD. Тестування захисту VSM

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

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

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

У теоретичній механіці існує "принцип віртуальних переміщень ", Який використовується для вирішення деяких завдань. Основна думка, якщо бути коротким, полягає в тому, що розглянута система, що знаходиться в рівновазі, приводиться в рух, шляхом теоретичного звільнення від утримують її зв'язків (тобто розглядаються переміщення, які могли б статися, якби не зв'язку). Цей принцип, який свого часу, був перейменований у нас на батьківщині (тоді ще СРСР) в "принцип можливих переміщень ". Таким чином, ми бачимо, що термін" віртуальний"Є еквівалентом" можливого"!

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

А тепер дамо більш чітке визначення:

Віртуалізація - це процес запуску спеціалізованого програмного забезпечення під операційною системою, званої хостом ( Host OS), Що дає можливість створювати віртуальні машини ( Virtual Machine ), Що володіють заданими характеристиками реальних комп'ютерів, і запускати на них незалежно один від одного різні гостьові операційні системи ( Guest OS).

Це визначення досить жорстко і, в якійсь мірі, важко для сприйняття. Тому, ми для прикладу розглянемо найпоширенішу на сьогоднішній день ситуацію, коли на комп'ютері якогось користувача встановлена \u200b\u200bMS Windows XP. Якщо йому буде потрібно працювати, наприклад, в ОС Linux, для цього необхідно буде встановити цю систему або на інший жорсткий диск, Або на один з логічних дисків вже наявного.

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

Для реалізації самої віртуалізації існує два підходи апаратний і програмний.

апаратна віртуалізація

Реалізується за рахунок так званого гипервизора ( Hypervisor) - спеціалізованого програмного забезпечення, яке саме є в деякому роді операційною системою. В літературі також часто використовується термін монітор або ж менеджер віртуальних машин (Virtual Machine Monitor /Manager, скорочено VMM). Це свого роду "програмна прошарок" або "програмний шар", оскільки саме гипервизор забезпечує взаємодію операційних систем і апаратного забезпечення (зокрема, процесора). Таким чином, гостьові системи використовують не ресурси хост системи, а безпосередньо комп'ютерного обладнання. Гипервизор управляє віртуальними машинами, розподіляє ресурси, забезпечує їх незалежність і, в деяких випадках, взаємодія.

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

На сьогоднішній день на ринку існують дві технології апаратної віртуалізації, представлені двома найбільшими виробниками процесорів Intel і Advanced Micro Devices (AMD).

технологія Intel Virtualization Technology (Intel VT) Вимагає підтримки не тільки з боку процесора, але також чіпсета і BIOS материнської плати. Принцип роботи наступний: користувач запускає програму віртуалізації, яка в свою чергу активує спеціальний режим роботи процесора. Далі всю роботу по коректному обслуговування віртуальної машини бере на себе VMM.

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

  • Intel Pentium 4 processor: 672, 662
  • Intel Pentium D processor: 960, 950, 940, 930, 920
  • Intel Pentium processor Extreme Edition: 965, 955, 840 (?). Щодо останнього вказуються різні дані.
  • Intel Core Solo processor:
    • Intel Core Solo processor Ultra Low Voltage: U1500, U1400, U1300
  • Intel Core2 Solo processor: U2200, U2100
  • Intel Core Duo processor: T2700, T2600, T2500, T2400, T2300
    • Intel Core Duo processor Low Voltage: L2500, L2400, L2300
    • Intel Core Duo processor Ultra Low Voltage: U2500, U2400
  • Intel Core2 Duo processor: E6850, E6750, E6700, E6600, E6550, E6540, E6420, E6400, E6320, E6300; T7800, T7700, T7600, T7500, T7400, T7300, T7250, T7200, T7100, T5600
    • Intel Core2 Duo Low Voltage: L7500, L7400, L7300, L7200
    • Intel Core2 Duo Ultra Low Voltage: U7600, U7500
  • Intel Core2 Quad processor: Q6700, Q6600
  • Intel Core2 Extreme processor: QX6850, QX6800, QX6700, X7900, X7800, X6800
  • Intel Itanium 2 processor: 9050, 9040, 9030, 9020, 9015
  • Intel Xeon processor: Вся лінійка повністю

AMD запропонувала своїм користувачам власну технологію AMDVirtualization (AMD-V), Що базується на інший фірмової технології Direct Connect. Сама віртуалізація побудована таким чином, що VMM вважає всі запущені на комп'ютері операційні системи віртуальними:

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

Зі списком процесорів підтримують технологію справи йдуть трохи гірше. З абсолютно незрозумілих причин, AMD не опублікувала список процесорів з підтримкою віртуалізації. І, що найдивніше, це навіть не завжди згадується в специфікації. Однак на офіційному форумі вдалося з'ясувати, що AMD-V підтримують всі процесори на сокетах AM2, S1, F, Крім лінійки Sempron. Слід зазначити, що, не дивлячись на всю зовнішню схожість, ці технології не сумісні між собою. Таким чином, використовувати апаратну віртуалізацію IVT за рахунок програм підтримують виключно технологію AMD- V, І навпаки, не вийде.

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

програмна віртуалізація

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

Серед найбільш aізвестних продуктів даного класу можна виділити лінійку програм VMware (Workstation, Server, Player), VirtualBox, Parallels Workstation, Microsoft Virtual PC, Qemu і Bochs. Функціональність всіх цих продуктів буде розглянута нами трохи пізніше. Також для кожної з них буде дана досить докладна інструкція по установці гостьовій операційної системи (На прикладі дистрибутива Ubuntu, в останнім часом користується великою популярністю у багатьох користувачів Linux).

Отже, в даних оглядах Ви можете ознайомитися з різними програмами віртуалізації:

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

Віртуальна машина і зовнішній світ

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

На практиці таке реалізувати не представляється можливим, адже якщо забезпечити підтримку апаратних ресурсів на кшталт відео і звукових карт, USB-пристроїв та іншої "залізної" братії ще можна, то з програмним забезпеченням справи йдуть набагато гірше. У деяких випадках немає повноцінної підтримки навіть самої хост-системи. Наприклад, відсутня можливість призначати загальні папки (іншими словами "Расшарівать",від англ. " sh aring "), доступні як хосту, так і гостьовий ОС), що робить досить заплутаною схему обміну інформацією між системами.

Апаратна або програмна віртуалізації?

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

Оцінки швидкодії різняться, доходячи часом до повної протилежності. Так, в одних джерелах повідомлялося про досягнення 90% і більше використання продуктивності фізичного процесора, в інших - про відсутність такої і, в деяких випадках, навіть про її втрату.

Для чого потрібна віртуалізація?

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

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

Інші ідентичні назви опції: Vanderpool Technology, VT Technology.

Опція Virtualization Technology (технологія віртуалізації) призначена для включення режиму підтримки процесором технології апаратної віртуалізації. Дана опція може приймати всього два значення - Enabled (Включено) і Disabled (Вимкнено).

Що ж взагалі означає термін «віртуалізація»? Технологія віртуалізації дозволяє користувачеві мати безліч віртуальних комп'ютерів на одному-єдиному фізичному комп'ютері. Природно, що такий підхід часто має чимало переваг у порівнянні з наявністю декількох фізичних комп'ютерів, перш за все в плані скорочення витрат на обладнання і зменшення енергоспоживання.

Для створення віртуальних комп'ютерів потрібне спеціальне програмне забезпечення. Найбільш відоме таке ПО для віртуалізації, як VMWare і Microsoft Virtual PC.

Серцем будь-якої системи віртуалізації є технологія, що носить назву диспетчера віртуальних машин (Virtual Machine Monitor, VMM). Ця технологія створює міцну основу для управління віртуалізацією. У функції диспетчера віртуальних машин (який також інколи називають гіпервізором) входить управління в реальному часі ресурсами комп'ютера і розподіл їх між віртуальними системами. Гипервизор може здійснювати перенесення даних між системами і створювати віртуальні диски.

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

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

Варіант технології віртуалізації від Intel носить назву VT-x. Він з'явився в 2005 р Ця технологія впровадила в серверні і клієнтські платформи ряд поліпшень, які забезпечують підтримку програмних засобів віртуалізації. Технологія VT-x дозволяє різним операційним системам і додаткам працювати в незалежних розділах і здатна перетворити комп'ютер в набір віртуальних операційних систем.

Технологія віртуалізації AMD носить назву AMD-V. Вперше вона з'явилася в процесорах Athlon 64 в 2006 р Ця технологія дозволяє взяти на себе деякі завдання, що виконуються гіпервізором програмним способом і спростити їх завдяки вбудованому в процесори AMD покращеному набору інструкцій.

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

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

У традиційній архітектурі Intel x86 ядро \u200b\u200bопераційної системи може здійснювати прямий доступ до процесора на рівні 0. Однак в середовищі програмної віртуалізації гостьова операційна система не може здійснювати роботу на нульовому рівні, оскільки він зайнятий гіпервізором. Таким чином, гостьова операційна система може виконуватися лише на рівні 1.

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

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

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

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

Чи варто включати?

Опція Virtualization Technology (іноді звана просто Virtualization) дозволяє користувачеві комп'ютера на рівні центрального процесора. Вибір значення Enabled включає цю підтримку, а значення Disabled - вимикає.

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

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

До недавнього часу зусилля в області віртуалізації операційних систем були зосереджені в основному в області програмних розробок. У 1998 році компанія VMware вперше серйозно позначила перспективи розвитку віртуальних систем, запатентувавши програмні техніки віртуалізації. Завдяки зусиллям VMware, а також інших виробників віртуальних платформ, І зростаючим темпам вдосконалення комп'ютерної техніки, Корпоративні та домашні користувачі побачили переваги та перспективи нової технології, а ринок засобів віртуалізації почав рости стрімкими темпами. Безумовно, такі великі компанії, як Intel і AMD, які контролюють більшу частину ринку процесорів, не могли залишити цю перспективну технологію без уваги. Компанія Intel перша побачила в новій технології джерело отримання технологічної переваги над конкурентами і почала роботу над удосконаленням x86 архітектури процесорів з метою підтримки платформ віртуалізації. Слідом за Intel компанія AMD також приєдналася до розробок щодо підтримки апаратної віртуалізації в процесорах, щоб не втратити позиції на ринку. В наразі обидві компанії пропонують моделі процесорів, що володіють розширеним набором інструкцій і дозволяють безпосередньо використовувати ресурси апаратури в віртуальних машинах.

Розвиток апаратних технік віртуалізації

Ідея апаратної віртуалізації не нова: вперше вона була втілена в 386-х процесорах і носила назву V86 mode. Цей режим роботи 8086-го процесора дозволяв запускати паралельно кілька DOS-додатків. Тепер апаратна віртуалізація дозволяє запускати кілька незалежних віртуальних машин у відповідних розділах апаратного простору комп'ютера. Апаратна віртуалізація є логічним продовженням еволюції рівнів абстрагування програмних платформ - від багатозадачності до рівня віртуалізації:

Переваги апаратної віртуалізації над програмною

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

  • Спрощення розробки платформ віртуалізації за рахунок надання апаратних інтерфейсів управління і підтримки віртуальних гостьових систем. Це сприяє появі та розвитку нових платформ віртуалізації і засобів управління, в зв'язку зі зменшенням трудомісткості і часу їх розробки.
  • Можливість збільшення швидкодії платформ віртуалізації. Оскільки управління віртуальними гостьовими системами проводиться за допомогою невеликого проміжного шару програмного забезпечення (гипервизора) безпосередньо, в перспективі очікується збільшення швидкодії платформ віртуалізації на основі апаратних технік.
  • Можливість незалежного запуску декількох віртуальних платформ з можливістю перемикання між ними на апаратному рівні. Кілька віртуальних машин можуть працювати незалежно, кожна в своєму просторі апаратних ресурсів, що дозволить усунути втрати швидкодії на підтримку хостовой платформи, а також збільшити захищеність віртуальних машин за рахунок їх повної ізоляції.
  • Отвязиваніе гостьової системи від архітектури хостовой платформи і реалізації платформи віртуалізації. За допомогою технологій апаратної віртуалізації дає змогу виконувати 64-бітних гостьових систем з 32-бітових хостових системах, з запущеними в них 32-бітними середовищами віртуалізації.

Як працює апаратна віртуалізація

Необхідність підтримки апаратної віртуалізації змусила виробників процесорів дещо змінити їх архітектуру за рахунок введення додаткових інструкцій для надання прямого доступу до ресурсів процесора з гостьових систем. Цей набір додаткових інструкцій носить назву Virtual Machine Extensions (VMX). VMX надає наступні інструкції: VMPTRLD, VMPTRST, VMCLEAR, VMREAD, VMREAD, VMWRITE, VMCALL, VMLAUNCH, VMRESUME, VMXON і VMXOFF.

Процесор з підтримкою віртуалізації може працювати в двох режимах root operation і non-root operation. У режимі root operation працює спеціальне програмне забезпечення, що є «легковажною» прошарком між гостьовими операційними системами і обладнанням - монітор віртуальних машин (Virtual Machine Monitor, VMM), що носить також назву гипервизор (hypervisor). Слово «гипервизор» з'явилося цікавим чином: колись дуже давно, операційна система носила назву «supervisor», а програмне забезпечення, яке перебуває «під супервизором», отримало назву «гипервизор».

Щоб перевести процесор в режим віртуалізації, платформа віртуалізації повинна викликати інструкцію VMXON і передати управління Гіпервізор, який запускає віртуальну гостьову систему інструкцією VMLAUNCH і VMRESUME (точки входу в віртуальну машину). Virtual Machine Monitor може вийти з режиму віртуалізації процесора, викликавши інструкцію VMXOFF.

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

Відмінність апаратної віртуалізації від програмної

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

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

Недоліки апаратної віртуалізації

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

На початку 2006 року в лабораторіях Microsoft Research був створений руткит під кодовою назвою SubVirt, що вражає хостової системи Windows і Linux і робить свою присутність практично не що виявляється. Принцип дії цього руткита полягав в наступному:

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

Наочно ця процедура виглядає так:

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

Технології віртуалізації компаній Intel і AMD

Компанії Intel і AMD, будучи провідними виробниками процесорів для серверних і настільних платформ, розробили техніки апаратної віртуалізації для їх використання в платформах віртуалізації. Ці техніки не володіють прямої сумісністю, але виконують в основному схожі функції. Обидві вони припускають наявність гипервизора, керівника не модифікованими гостьовими системами, і мають можливості для розробки платформ віртуалізації без необхідності емуляції апаратури. У процесорах обох компаній, що підтримують віртуалізацію, введені додаткові інструкції для їх виклику гіпервізором з метою управління віртуальними системами. В даний момент група, що займається дослідженням можливостей апаратних технік віртуалізації, включає в себе компанії AMD, Intel, Dell, Fujitsu Siemens, Hewlett-Packard, IBM, Sun Microsystems і VMware.

Віртуалізація Intel

Компанія Intel офіційно оголосила про запуск технології віртуалізації на початку 2005 року на конференції Intel Developer Forum Spring 2005. Нова технологія отримала кодову назву Vanderpool і офіційне Intel Virtualization Technology (скорочено Intel VT). Технологія Intel VT містить в собі деякий безліч технік різного класу, Що мають номери версій VT-x, де x - літер, який вказує на підвид апаратної техніки. Була заявлена \u200b\u200bпідтримка нової технології в процесорах Pentium 4, Pentium D, Xeon, Core Duo і Core 2 Duo. Intel також опублікувала специфікації на Intel VT для Itanium-based процесорів, де технологія віртуалізації фігурувала під кодовим ім'ям «Silvervale» і версією VT-i. Однак, починаючи з 2005 року, нові моделі процесорів Itanium не підтримують x86 інструкції апаратно, і x86-віртуалізація може бути використана на архітектурі IA-64 тільки за допомогою емуляції.

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

  • Intel® 2 Core ™ Duo Extreme processor X6800
  • Intel® 2 Core ™ Duo processor E6700
  • Intel® 2 Core ™ Duo processor E6600
  • Intel® 2 Core ™ Duo processor E6400 (E6420)
  • Intel® 2 Core ™ Duo processor E6300 (E6320)
  • Intel® Core ™ Duo processor T2600
  • Intel® Core ™ Duo processor T2500
  • Intel® Core ™ Duo processor T2400
  • Intel® Core ™ Duo processor L2300
  • Intel® Pentium® processor Extreme Edition 965
  • Intel® Pentium® processor Extreme Edition 955
  • Intel® Pentium® D processor 960
  • Intel® Pentium® D processor 950
  • Intel® Pentium® D processor 940
  • Intel® Pentium® D processor 930
  • Intel® Pentium® D processor 920
  • Intel® Pentium® 4 processor 672
  • Intel® Pentium® 4 processor 662

Процесори для ноутбуків:

  • Intel® 2 Core ™ Duo processor T7600
  • Intel® 2 Core ™ Duo processor T7400
  • Intel® 2 Core ™ Duo processor T7200
  • Intel® 2 Core ™ Duo processor T5600
  • Intel® 2 Core ™ Duo processor L7400
  • Intel® 2 Core ™ Duo processor L7200
  • Intel® 2 Core ™ Duo processor L7600
  • Intel® 2 Core ™ Duo processor L7500

Процесори для серверних платформ:

  • Intel® Xeon® processor 7041
  • Intel® Xeon® processor 7040
  • Intel® Xeon® processor 7030
  • Intel® Xeon® processor 7020
  • Intel® Xeon® processor 5080
  • Intel® Xeon® processor 5063
  • Intel® Xeon® processor 5060
  • Intel® Xeon® processor 5050
  • Intel® Xeon® processor 5030
  • Intel® Xeon® processor 5110
  • Intel® Xeon® processor 5120
  • Intel® Xeon® processor 5130
  • Intel® Xeon® processor 5140
  • Intel® Xeon® processor 5148
  • Intel® Xeon® processor 5150
  • Intel® Xeon® processor 5160
  • Intel® Xeon® processor E5310
  • Intel® Xeon® processor E5320
  • Intel® Xeon® processor E5335
  • Intel® Xeon® processor E5345
  • Intel® Xeon® processor X5355
  • Intel® Xeon® processor L5310
  • Intel® Xeon® processor L5320
  • Intel® Xeon® processor 7140M
  • Intel® Xeon® processor 7140N
  • Intel® Xeon® processor 7130M
  • Intel® Xeon® processor 7130N
  • Intel® Xeon® processor 7120M
  • Intel® Xeon® processor 7120N
  • Intel® Xeon® processor 7110M
  • Intel® Xeon® processor 7110N
  • Intel® Xeon® processor X3220
  • Intel® Xeon® processor X3210

Необхідно відзначити, що наступні чотири процесора не підтримують технологію Intel VT:

  • Intel® 2 Core ™ Duo processor E4300
  • Intel® 2 Core ™ Duo processor E4400
  • Intel® 2 Core ™ Duo processor T5500
  • Intel® Pentium® D processor 9x5 (D945)

Компанія Intel планує також розвивати технологію під назвою Virtualization for Directed I / O до Intel VT, що має версію VT-d. На даний момент відомо, що це істотні зміни в архітектурі введення-виведення, які дозволять поліпшити захищеність, робастної і продуктивність віртуальних платформ, які використовують апаратні техніки віртуалізації.

Віртуалізація AMD

Компанія AMD, так само, як і компанія Intel, не так давно взялася за доопрацювання архітектури процесорів з метою підтримки віртуалізації. У травні 2005 року компанія AMD оголосила про початок впровадження підтримки віртуалізації в процесори. Офіційна назва, яке отримала нова технологія - AMD Virtualization (скорочено AMD-V), а її внутрішнє кодове ім'я - AMD Pacifica. Технологія AMD-V є логічним продовженням технології Direct Connect для процесорів AMD64, спрямованої на підвищення продуктивності комп'ютерних систем за рахунок тісної прямої інтеграції процесора з іншими компонентами апаратного забезпечення.

У списку далі наведено процесори, що підтримують функції апаратної віртуалізації AMD-V. Підтримка цих функцій повинна працювати у всіх процесорах серії AMD-V для настільних комп'ютерів під Socket AM2, починаючи з степпинга F. Необхідно також відзначити, що процесори Sempron не підтримують апаратну віртуалізацію.

Процесори для настільних платформ:

  • Athlon ™ 64 3800 +
  • Athlon ™ 64 3500
  • Athlon ™ 64 3200
  • Athlon ™ 64 3000
  • Athlon ™ 64 FX FX-62
  • Athlon ™ 64 FX FX-72
  • Athlon ™ 64 FX FX-74
  • Athlon ™ 64 X2 Dual-Core 6000+
  • Athlon ™ 64 X2 Dual-Core 5600+
  • Athlon ™ 64 X2 Dual-Core 5400+
  • Athlon ™ 64 X2 Dual-Core 5200
  • Athlon ™ 64 X2 Dual-Core 5000+
  • Athlon ™ 64 X2 Dual-Core 4800 +
  • Athlon ™ 64 X2 Dual-Core 4600 +
  • Athlon ™ 64 X2 Dual-Core 4400+
  • Athlon ™ 64 X2 Dual-Core 4200 +
  • Athlon ™ 64 X2 Dual-Core 4000+
  • Athlon ™ 64 X2 Dual-Core 3800 +

Для ноутбуків підтримуються процесори з брендом Turion 64 X2:

  • Turion ™ 64 X2 TL-60
  • Turion ™ 64 X2 TL-56
  • Turion ™ 64 X2 TL-52
  • Turion ™ 64 X2 TL-50

Для серверних платформ підтримуються наступні процесори Opteron:

  • Opteron 1000 Series
  • Opteron 2000 Series
  • Opteron 8000 Series

Програмне забезпечення, що підтримує апаратну віртуалізацію

На даний момент, абсолютна більшість вендорів програмних платформ віртуалізації заявило про підтримку технологій апаратної віртуалізації Intel і AMD. Віртуальні машини на цих платформах можуть бути запущені за підтримки апаратної віртуалізації. Крім того, у багатьох операційних системах, в дистрибутив яких включені програмні платформи паравіртуалізаціі, такі як Xen або Virtual Iron, апаратна віртуалізація дозволить запускати незмінені гостьові операційні системи. Так як паравіртуалізація є одним з видів віртуалізації, що вимагають модифікації гостьовий операційної системи, реалізація в платформах паравіртуалізаціі підтримки апаратної віртуалізації є для цих платформ досить прийнятним рішенням, з точки зору можливості запуску не модифікованих версій гостьових систем. У наведеній далі таблиці перераховані основні популярні платформи віртуалізації і програмне забезпечення, що підтримують технології апаратної віртуалізації:

Платформа віртуалізації або ПОЯкі технології підтримуєПримітка
Kernel-based Virtual Machine (KVM)Intel VT, AMD-VВіртуалізація рівня примірників операційних систем під Linux.
Microsoft Virtual PCIntel VT, AMD-VНастільна платформа віртуалізації для хостових Windows-платформ.
Microsoft Virtual ServerIntel VT, AMD-VСерверна платформа віртуалізації для Windows. Версія з підтримкою апаратної віртуалізації, Microsoft Virtual Server 2005 R2 SP1, знаходиться в стані бети. Очікується в другому кварталі 2007 р
Parallels WorkstationIntel VT, AMD-VПлатформа віртуалізації для Windows і Linux хостів.
VirtualBoxIntel VT, AMD-VНастільна платформа віртуалізації з відкритим вихідним кодом для Windows, Linux і Mac OS. За замовчуванням підтримка апаратної віртуалізації вимкнена, оскільки за дослідженнями експертів, на даний момент апаратна віртуалізація повільніше програмної
Virtual IronIntel VT, AMD-VVirtual Iron 3.5 є першою платформою віртуалізації, що використовує апаратні техніки, яка дозволяє запускати 32-бітові та 64-бітові незмінені гостьові системи практично без втрати продуктивності.
VMware Workstation і VMware ServerIntel VT, AMD-VДля запуску 64-х бітних гостьових систем потрібна підтримка Intel VT (так само як і для VMware ESX Server), для 32-бітних же гостьових ОС за замовчуванням підтримка IntelVT відключена з тих же причин, що і у VirtualBox.
XenIntel VT, AMD-VПлатформа віртуалізації Xen з відкритим вихідним кодом дозволяє запускати незмінені гостьові системи, використовуючи апаратні техніки віртуалізації.

Апаратна віртуалізація сьогодні

Компанія VMware, що входить в дослідну групу апаратних технік віртуалізації, в кінці 2006 року провела дослідження щодо власної програмної віртуалізації в порівнянні з апаратними технологіями віртуалізації компанії Intel. У документі «A Comparison of Software and Hardware Techniques for x86 Virtualization» були зафіксовані результати цього дослідження (на процесорі 3.8 GHz Intel Pentium 4 672 з відключеною технологією Hyper-Threading). Один з експериментів проводився за допомогою систем тестів SPECint2000 і SPECjbb2005, є стандартом де-факто для оцінки продуктивності комп'ютерних систем. Як гостьовий системи використовувалася ОС Red Hat Enterprise Linux 3, керована програмним і апаратним гіпервізором. Очікувалося, що апаратна віртуалізація дасть коефіцієнт продуктивності близько ста відсотків у відношенні нативного запуску операційної системи. Однак результати виявилися досить несподіваними: в той час як програмний гипервизор без використання апаратних технік віртуалізації давав 4 відсотки втрат продуктивності щодо нативного запуску, апаратний гипервизор, в цілому, втрачав 5 відсотків продуктивності. Результати цього тесту наведені на малюнку далі:

висновки

Підтримка технологій апаратної віртуалізації в процесорах відкриває широкі перспективи щодо використання віртуальних машин в якості надійних, захищених і гнучких інструментів для підвищення ефективності віртуальних інфраструктур. Наявність підтримки апаратних технік віртуалізації в процесорах не тільки серверних, а й настільних систем, Говорить про серйозність намірів виробників процесорів по відношенню до всіх сегментів ринку користувачів комп'ютерних систем. Використання апаратної віртуалізації в перспективі має зменшити втрати продуктивності при запуску декількох віртуальних машин на одному фізичному сервері. Безумовно, апаратна віртуалізація підвищить захищеність віртуальних систем в корпоративних середовищах. Зараз простота розробки платформ віртуалізації з використанням апаратних технік призвела до появи нових гравців на ринку засобів віртуалізації. Вендори систем паравіртуалізаціі широко застосовують апаратну віртуалізацію для запуску не модифікованих гостьових систем. додатковою перевагою апаратних технік віртуалізації є можливість запуску 64-бітових гостьових систем на 32-бітових версіях платформ віртуалізації (наприклад, VMware ESX Server).

Не варто сприймати результати продуктивності, як єдино вірні. Об'єктивна оцінка продуктивності різних апаратних і програмних платформ для віртуалізації є нетривіальним завданням, згадана робоча група в складі SPEC працює над створенням набору стандартних методів для оцінки таких систем. На сьогодні можна відзначити, що засоби віртуалізації від AMD є технічно більш досконалими, ніж реалізовані Intel. Багато що залежить і від використовуваного ПО, наприклад, на відміну від VMWare, є значно більш «чуйні» до апаратної підтримки середовища, наприклад, Xen 3.0.

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

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

Основні переваги віртуалізації:

  • Підвищення ефективності використання апаратного забезпечення
  • Зменшення матеріальних витрат
  • Оптимізація розподілу ресурсів
  • Підвищення безпеки роботи
  • спрощення адміністрування
  • підвищення надійності

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

Тому провідні розробники процесорів для ПК, компанії Intel і AMD, розробили так звану технологію апаратної віртуалізації, яка оптимізує роботу процесорів таким чином, щоб значно підвищити ефективність ПО для віртуалізації. Варіант технології підтримки апаратної віртуалізації від компанії Intel носить назву Intel-VT, а варіант AMD - AMD-V.

підтримка віртуалізації

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

Включення віртуалізації в Біосе

Отже, як включити віртуалізацію в Біосе? Для включення або виключення віртуалізації в BIOS існує спеціальна опція Virtualization Technology. Зазвичай цю опцію ви можете знайти в розділах BIOS Chipset або Processor.

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

висновок

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

Всім привіт У себе в биосе материнки ви можете знайти таке як Intel Virtualization Technology і тут у вас відразу виникнуть питання, включати це чи ні? За що це взагалі відповідає, що за дичину, а якщо включити, то може комп запрацює краще? Так, думок може бути багато, коли я колупав комп, вивчав все, то теж було багато думок, типу, а що буде якщо ...

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

Ви тут напевно запитаєте, яке ще ПО? Тут я маю на увазі програми віртуалізації комп'ютера, по простому це віртуальні машини, поки що найпопулярніші це платна VMware Workstation (до речі є безкоштовний варіант це VMware Player) і абсолютно безкоштовна VirtualBox. Кажуть що перша це саме віртуальна машина, а друга це емулятор. Але не особливо розумію різницю

А ось як виглядає ця опція в самому биосе, дивіться:


Так ось, а простим користувачам технологія Intel Virtualization Technology даром не потрібна, вона нічого не робить, ніякої потужності не додає. Вам напевно може стати цікаво, що ж таке віртуальна машина, що це взагалі таке? Це програма, яка імітує комп'ютер, але він віртуальний. Ось в нього можна встановити виндовс, додати жорсткий диск або видалити, задати кількість ядер процесора, вказати обсяг оперативної пам'яті. Розумієте? Але от щоб такий віртуальний комп працював спритно, то потрібно якийсь віртуальний доступ до процесора, ось для забезпечення цього доступу технологія Intel Virtualization Technology і потрібна

Як ви вже зрозуміли, дана технологія зустрічається у Проців Intel, але у AMD також є своя, називається вона AMD-V і це приблизно те ж саме що і у Intel. Віртуальні машини без цієї технології будуть працювати моторошно повільно. Взагалі Intel Virtualization Technology підрозділяється на дві частини, це VT-x і VT-d, тобто якщо ви побачите такі позначення, то тепер знаєте що це. Про те що таке VT-x і VT-d я вже писав ось тут, так що велкам читати.



Сподобалася стаття? поділіться їй