Віртуальная машына

Віртуальная машына (ВМ, ад ) —
 праграмная і/або апаратная сістэма, якая эмулюе апаратнае забеспячэнне нейкай платформы (target — мэтавая, або гасцявая платформа) і выконвае праграмы для target-платформы на host-платформе (host — хост-платформа, платформа-гаспадар)
 ці якая віртуалізуе нейкую платформу і стварае на ёй асяроддзі, якія ізалююць адну ад адной праграмы і нават аперацыйныя сістэмы (гл.: пясочніца);
 таксама спецыфікацыя нейкага вылічальнага асяроддзя (напрыклад: «віртуальная машына мовы праграмавання Сі»).

Віртуальная машына выконвае нейкі машынна-незалежны код (напрыклад, байт-код, шыты код, p-код) або машынны код рэальнага працэсара. Апроч працэсара, ВМ можа эмуляваць работу як асобных кампанентаў апаратнага забеспячэння, так і рэальнага камп’ютара цалкам (уключаючы BIOS, аператыўную памяць, цвёрды дыск і іншыя перыферыйныя прылады). У апошнім выпадку ў ВМ, як і на рэальны камп’ютар, можна ўсталяваць аперацыйныя сістэмы (напрыклад, Windows можна запускаць у віртуальнай машыне пад Linux ці наадварот). На адным камп’ютары можа функцыянаваць некалькі віртуальных машын (гэта можа выкарыстоўвацца для імітацыі некалькіх сервераў на адным рэальным серверы з мэтай аптымізацыі ўжывання рэсурсаў сервера).

 Тэорыя 

Канцэпцыя віртуальнай машыны як сукупнасці рэсурсаў, якія эмулююць паводзіны рэальнай машыны, з’явілася ў Кембрыджы ў канцы 1960-х гадоў як пашырэнне канцэпцыі віртуальнай памяці манчэстэрскай вылічальнай машыны . У цэлым вылічальны працэс вызначаецца, у межах гэтай канцэпцыі, зместам той рабочай прасторы памяці, да якой ён мае доступ. Пры ўмове, што пэўная сітуацыя ў гэтай рабочай прасторы адпавядае чаканай, працэс не мае аніякіх сродкаў для вызначэння таго, ці з’яўляецца прадстаўлены рэсурс сапраўды фізічным рэсурсам гэтага тыпу, або ён імітаваны дзеяннямі іншых рэсурсаў, якія прыводзяць да аналагічных змен змесціва рабочай прасторы працэсу.

Напрыклад, працэс не можа вызначыць, ці манапольна ён ужывае працэсар або ў рэжыме мультыпраграмавання разам з іншымі працэсамі. У віртуальнай машыне аніводны працэс не можа манапольна ўжываць адвольны рэсурс, і ўсе сістэмныя рэсурсы лічацца рэсурсамі патэнцыйна сумеснага выкарыстання. Акрамя таго, ужыванне віртуальных машын забяспечвае раздзяленне паміж некалькімі карыстальнікамі, якія працуюць у адной вылічальнай сістэме, забяспечваючы пэўны ўзровень абароны даных.

Ідэя віртуальнай машыны палягае ў падмурку цэлага шэрагу аперацыйных сістэм, у прыватнасці, IBM VM/CMS (і яе савецкага клону СВМ) і DEC VAX/VMS.

 Ужыванне 
Віртуальныя машыны могуць выкарыстоўвацца для наступных мэт:
 Абарона інфармацыі і абмежаванне магчымасцей праграм (гл.: пясочніца);
 Даследаванне прадукцыйнасці ПЗ або новай камп’ютарнай архітэктуры;
 Эмуляцыя разнастайных архітэктур (напрыклад, эмулятар гульнявой прыстаўкі);
 Выкарыстанне рэсурсаў мэйнфрэймаў і іншых магутных камп’ютараў (гл., напрыклад: IBM eServer);
 Шкодны код для кіравання інфіцыраванай сістэмай: вірус PMBS, выяўлены ў 1993 годзе, а таксама руткіт SubVirt, створаны ў 2006 годзе ў Microsoft Research, стваралі віртуальную сістэму, якой абмяжоўваўся карыстальнік і ўсе ахоўныя праграмы (антывірусы і іншыя).F-Secure Weblog : Monthly Archives — March of 2006
 Мадэляванне інфармацыйных сістэм з кліент-сервернай архітэктурай на адной ЭВМ (эмуляцыя камп’ютарнай сеткі з дапамогай некалькіх віртуальных машын).
 Спрашчэнне кіравання кластарамі — віртуальныя машыны могуць наўпрост міграваць з адной фізічнай машыны на другую падчас работы.
 Тэставанне і адладка сістэмнага праграмнага забеспячэння;

 Вядомыя віртуальныя машыны 
Некаторыя вядомыя віртуальныя машыны:

 Асяроддзі моў праграмавання
 ActionScript Virtual Machine
 Common Language Runtime
 Форт
 Java Virtual Machine
 UCSD p-System

 Аперацыйныя сістэмы і гіпервізары
 Сістэма віртуальных машын
 ICore Virtual Accounts
 Kernel-based Virtual Machine
 Hyper-V
 OpenVZ
 Parallels Virtuozzo Containers
 User-mode Linux
 Virtual Iron
 VM/CMS
 VMware ESX
 Xen

 Аўтаномныя эмулятары камп’ютараў
 bochs
 DOSBox
 Virtual PC
 Parallels Workstation
 QEMU
 VirtualBox
 VMware Fusion
 VMware Workstation

 Гл. таксама 
 Параўнанне віртуальных машын

 Крыніцы 

 Літаратура 


 Спасылкі