Loading AI tools
З Вікіпедії, вільної енциклопедії
Віртуальна машина — модель обчислювальної машини, створеної шляхом віртуалізації обчислювальних ресурсів: процесора, оперативної пам'яті, пристроїв зберігання та вводу і виводу інформації.
Віртуальна машина, на відміну від програми емуляції конкретного пристрою, забезпечує повну емуляцію фізичної машини чи середовища виконання (для програми).
Раніше віртуальну машину визначали як «ефективну ізольовану копію реальної машини». Проте сучасні віртуальні машини можуть не мати прямого апаратного аналогу. Наприклад, в залежності від способу моделювання набору інструкцій віртуального центрального процесора, віртуальна машина може моделювати реальну або абстрактну обчислювальні машини. При моделюванні реальної обчислювальної машини набір інструкцій процесора віртуальної машини збігається з набором інструкцій обраного для моделювання центрального процесора.
Віртуальні машини поділяються на 2 головні категорії, в залежності від їх використання та відповідності до реальної апаратури:
Системні віртуальні машини дозволяють розподіл апаратних ресурсів фізичної машини між різними копіями віртуальних машин, на кожній з яких може бути встановлена своя операційна система. Пласт програмного забезпечення, що виконує віртуалізацію, називається гіпервізором. Гіпервізори поділяються на 2 типи: ті, що можуть виконуватися на «голій[en]» апаратурі (1-й тип, або рідні (англ. native)), та ті, що виконуються в певній операційній системі (2-й тип, або хостові).
Основні переваги системних ВМ:
Основний недолік:
Різні ВМ, на кожній з яких може бути встановлена своя власна ОС (які також називається гостьовими ОС), часто використовуються для серверного об'єднання: різні сервіси (що повинні виконуватися на окремих машинах, щоб запобігти взаємовтручанню) запускаються в різних ВМ, проте на одній фізичній машині, що дозволяє економити апаратні ресурси.
Прикладні віртуальні машини виконують звичайні програми всередині ОС. Вони зазвичай створюються коли програма запускається та знищуються після її завершення. Їхня ціль — забезпечити платформно-незалежне програмне середовище, яке дозволяє абстрагуватися від конкретної апаратури та операційної системи, на якій виконується програма.
Прикладна ВМ забезпечує високорівневу абстракцію (наприклад, інтерпретатори високорівневих мов програмування — Lisp, Java, Python, Perl), в той час як системні ВМ зазвичай обмежуються низькорівневою абстракцією (машинним набором кодів). Сучасні прикладні ВМ, що реалізуються за допомогою інтерпретаторів, для підвищення швидкості виконання використовують компіляцію «на льоту» (англ. JIT — just-in-time).
Цей підхід полягає в простому розподіленні тих апаратних ресурсів, на яких запущена ВМ. Кожна копія ВМ обмежена реальною апаратурою. Відповідно, ми зможемо використовувати лише ті ОС, які підтримують нашу апаратуру.
В цьому випадку ВМ емулює апаратуру, яка може відрізнятися від тієї, на якій вона запущена. Це розширює круг ОС, які ми можемо на неї встановити.
Ядро ОС дозволяє створювати багато ізольованих один від одного просторів користувачів. В цьому випадку крах програми в одному просторі ніяк не вплине на програми в інших просторах.
Першою (і досьогодні — однією з найкращих операційних систем, які підтримували концепцію віртуальної машини) є операційна система VM (в межах колишнього СРСР також відома як СВМ — Система Віртуальних Машин) фірми IBM.
На окремих апаратних платформах можлива апаратна підтримка віртуальних машин. Вперше технологія апаратної підтримки віртуальних машин була реалізована в машині серії IBM-370 (початок 1970 рр.) як можливість завантаження мікропрограмного коду, який забезпечував додаткову функціональність центрального процесора IBM-370 для обслуговування віртуальних машин.
Однією з найпопулярніших насьгодні віртуальних машин є віртуальна машина Java.
Віртуальні машини можуть використовуватися для:
Приклади віртуальних машин:
Ця стаття не містить посилань на джерела. (квітень 2016) |
![]() | Ця стаття потребує додаткових посилань на джерела для поліпшення її перевірності. (квітень 2016) |
![]() |
Це незавершена стаття про операційні системи. Ви можете допомогти проєкту, виправивши або дописавши її. |
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.