Віртуальна машина
Віртуальна машина(VM, від англ. virtual machine ) - програмна та/або апаратна система, що емулює апаратне забезпечення деякої платформи (target - цільова, або гостьова платформа) і виконує програми для target-платформи на host-платформі (host - хост-платформа, платформа-господар) або віртуалізує деяку платформу і створює на ній середовища, що ізолюють один від одного програми і навіть операційні системи (див. пісочниця); також специфікація деякої обчислювальної середовища (наприклад: "віртуальна машина мови програмування Сі").
Віртуальна машина виконує певний машинно-незалежний код (наприклад, байт-код, код шитий, p-код) або машинний код реального процесора. Окрім процесора, ВМ може емулювати роботу як окремих компонентів апаратного забезпечення, так і цілого реального комп'ютера (включаючи BIOS, оперативну пам'ять, жорсткий диск та інші периферійні пристрої). В останньому випадку ВМ, як і на реальний комп'ютер, можна встановлювати операційні системи (наприклад, Windows можна запускати у віртуальній машині під Linux або навпаки). На одному комп'ютері може функціонувати кілька віртуальних машин (це може використовуватися для імітації кількох серверів одному реальному сервері з метою оптимізації використання ресурсів сервера).
Зміст
Концепція віртуальної машини як сукупності ресурсів, що симулюють поведінку реальної машини, з'явилася в Кембриджі наприкінці 1960-х років у вигляді розширення концепції віртуальної пам'яті манчестерської обчислювальної машини Atlas [1] . У цілому нині обчислювальний процес визначається рамках цієї концепції вмістом того робочого простору пам'яті, якого він має доступ. За умови, що конкретна ситуація у цьому робочому просторі відповідаєочікуваної, процес не має жодних засобів для визначення того, чи є представлений йому ресурс справді фізичним ресурсом цього типу, чи він імітується діями інших ресурсів, які призводять до аналогічних змін вмісту робочого простору процесу.
Наприклад, процес не може визначити, чи монопольно він використовує процесор або в режимі мультипрограмування разом з іншими процесами. У віртуальній машині жоден процес неспроможна монопольно використовувати ресурс, і всі системні ресурси вважаються ресурсами потенційно спільного використання. Крім того, використання віртуальних машин забезпечує розв'язку між кількома користувачами, що працюють в одній обчислювальній системі, забезпечуючи певний рівень захисту даних.
Ідея віртуальної машини є основою цілого ряду операційних систем, зокрема, IBM VM/CMS (і його радянського клону СВМ) і DEC VAX/VMS.
Віртуальні машини можуть використовуватися для: