Віртуальні машини кілька ос в одній
Більшість користувачів, що не дозволяють в бездіяльності простоювати свого комп'ютера, напевно не раз стикалися зі спеціалізованими програмами, призначеними для завантаження однієї операційної системи в інший. Ці додатки - віртуальні машини - дозволяють без проблем запустити одночасно на одному комп'ютері кілька ОС, що надає користувачам ряд нових можливостей.
Віртуалізація - абстрагування програмного забезпечення від апаратної частини, що дає певні переваги перед оригінальною конфігурацією; доступним прикладом служать мультипроцесорні системи, в яких операційні системи конфигурируются так, що кілька CPU представляються як один модуль.
Віртуальна машина - це програма, яка запускається з операційної системи, що емулює реальну машину, на яку також може бути встановлена операційна система.
Монітор віртуальної машини - це основний компонент віртуальної машини, що не залежить від хостовой операційної системи і відповідає за створення віртуального середовища для виконання гостьової операційної системи.
Хостової операційна система - операційна система, що управляє реальним обладнанням і надає функції для доступу до нього; вона завантажується самостійно і не потребує віртуальної машини для своєї роботи.
Гостьова операційна система - операційна система, що працює у віртуальній машині; на одному реальному комп'ютері може бути запущена одна хостової і одна або безліч гостьових операційних систем.
В операційній системі VM / 370 користувач отримував в своє розпорядження повнорозмірний і повнофункціональний віртуальний комп'ютер, на який він міг поставити власну версію операційної системи і встановити власне прикладне програмне забезпечення. Цей комп'ютер включав оперативну пам'ять, ресурси процесора, власні віртуальні периферійні пристрої - практично все, чим володіє звичайний комп'ютер, але тільки у віртуальному вигляді. Кількість обслуговуваних віртуальних комп'ютерів визначалося ліцензією, доступними ресурсами пам'яті, диска, центрального процесора і т.п. Операційна система VM / 370 стала прототипом для радянської розробки системи СВМ (СВМ). Перша її версія СВМ 1.1 була випущена в 1982 р комбінатом "Роботрон". У 1983 р операційну систему СВМ 2.2, що базується на шостому релізі VM / 370, випустив мінський НДІ ЕОМ.
З цього моменту система СВМ, не замінюючи систем DOS і OS, зайняла міцне місце в базовому програмному забезпеченні для ЄС ЕОМ (єдиних систем електронних обчислювальних машин). В якості операційної системи, що управляє роботою віртуальної машини, могли використовуватися будь-які операційні системи, розроблені для ЄС ЕОМ.
Удосконалення СВМ в НДІ ЕОМ на початку 90-х років призвело до розробки операційної системи VM / СВМ.
Мінська компанія ІВА, заснована компанією IBM на базі МПО ВТ (Мінського виробничого об'єднання обчислювальної техніки) і НДІ ЕОМ, до сих пір веде розробку нових видань VM / СВМ для мейнфреймів IВМ.
Інженери корпорації IBM спочатку заклали в архітектуру своїх процесорів потенційну можливість віртуалізації і творцям операційної системи VM не довелося долати специфічні апаратні проблеми. Але архітектура процесорів Intel х86 значно відрізняється від архітектури процесорів IBM і не може бути віртуалізувати тим же способом. У даній ситуації передбачається, що ядру працює на цій платформі операційної системи будуть доступні абсолютно всі ресурси процесора і тому відчуження окремо взятої операційної системи від CPU і установка проміжних віртуалізується верств теоретично неможлива. Спроба запустити дві операційні системи на одному комп'ютері просто призведе до конфлікту між ними.
Піонером технології віртуальних машин на платформі Intel х86 стала компанія VMware.

У той же самий час завданням віртуалізації процесорів Intel х86 займалася відома компанія Connectix.

В даний час віртуальні машини широко використовуються для вирішення широкого ряду складних завдань:
- для захисту інформації та обмеження можливостей процесів;
- для дослідження продуктивності програмного забезпечення або нової комп'ютерної архітектури;
- для емуляції різних архітектур (в т.ч. ігрових консолей);
- з метою оптимізації використання ресурсів високопродуктивних комп'ютерів;
- для спрощення управління кластерами - віртуальні машини можуть просто мігрувати з однієї фізичної машини на іншу під час роботи.
Віртуальна машина має свій BIOS, оперативну пам'ять, жорсткий диск (виділені з реального комп'ютера) і здатна емулювати периферійні пристрої.
Робота її заснована на технології квазі-емуляції, що дозволяє апаратно невіртуалізіруемий процесор віртуалізувати програмним шляхом. Основні завдання квазі-емуляції включають: необхідність визначити безліч інструкцій процесора, які можна виконувати без емуляції; необхідність визначити безліч інструкцій процесора, які не можна виконувати без емуляції, а також забезпечити виявлення цих інструкцій в гостьовому коді і зробити їх емуляцію; коли потрібна взаємодія з хостовой операційною системою (наприклад, при емуляції зовнішніх пристроїв) потрібно забезпечити перемикання в її контекст і використовувати її функції, а для нормального функціонування хостовой операційної системи має бути забезпечено передачу їй переривань від зовнішніх пристроїв, що відбулися в контексті гостьовий операційної системи.
Віртуальна машина дає масу переваг при тестуванні програмного забезпечення. Програмісту для налагодження програми немає необхідності встановлювати на один комп'ютер кілька операційних систем і по черзі, перезавантажуючись в кожну з них, перевіряти роботу тієї чи іншої функції. Використовуючи віртуальну машину, він може робити це перемикаючись між завантаженими ОС одним клацанням миші.
Багато системні адміністратори використовують віртуальні машини для тестування патчів і оновлень операційних систем перед їх установкою на комп'ютери і сервери мережі. Іноді можна зустріти ігрові сервери, що працюють на віртуальній машині. Досить поширене використання віртуальних машин при роботі з програмним забезпеченням, яке не підтримує новою версією операційної системи. Віртуальна машина може стати єдиним інструментом, який дозволить продемонструвати замовникові у нього в офісі можливості мережевого програмного забезпечення.
Для комфортної роботи в гостьовій операційній системі (тієї, яка встановлена на віртуальній машині), необхідно виділити їй досить серйозну частину ресурсів. Так, для досить комфортної роботи з Windows XP в якості гостьової системи їй необхідно мінімум 256 Мб ОЗУ (краще, звичайно, не менше 512 Мб). Таким чином, одночасний запуск двох віртуальних машин, кожній з яких виділено по 512 мегабайт пам'яті, вимагає установки не менше 1,5 Гб оперативної пам'яті (2х512 МБ - гостьові операційні системи, 512 Мб - хостової).
Те ж стосується продуктивності процесора і дискової підсистеми: їх потужностей має вистачати для обслуговування декількох операційних систем одночасно - таким чином, для ефективного використання в повсякденній роботі віртуальної машини конфігурація комп'ютера повинна бути досить потужною, а обсяг оперативної пам'яті - свідомо надлишковою для роботи однієї ОС. Незважаючи на це, покупка одного потужного персонального комп'ютера і подальше розміщення на ньому постійно діючої віртуальної машини, з фінансової точки зору, більш вигідна, ніж придбання декількох комп'ютерів для кожної операційної системи.
Використання віртуальних машин пов'язано і з низкою негативних моментів: зниження надійності реальних машин (наприклад, вихід з ладу вінчестера призведе до непрацездатності основної операційної системи і всіх віртуальних) і поділ ресурсів комп'ютера між декількома операційними системами (наприклад, повне захоплення пропускної здатності мережі або 100 % -а завантаження процесора гостьовою операційною системою призведе до катастрофічного падіння продуктивності інших гостьових і головною операційної системи).
А тому в кожному конкретному випадку при ухваленні рішення про використання віртуальної машини необхідно зважувати всі за і проти.
Найбільш популярні продукти (по даннимSecurityLab)