Віртуальная машына (ВМ, ад англ.: virtual machine) —
Віртуальная машына выконвае нейкі машынна-незалежны код (напрыклад, байт-код, шыты код, p-код) ці машынны код рэальнага працэсара. Апроч працэсара, ВМ можа эмуляваць работу як асобных кампанентаў апаратнага забеспячэння, так і рэальнага камп’ютара цалкам (уключаючы BIOS, аператыўную памяць, цвёрды дыск і іншыя перыферыйныя прылады). У апошнім выпадку ў ВМ, як і на рэальны камп’ютар, можна ўсталяваць аперацыйныя сістэмы (напрыклад, Windows можна запускаць у віртуальнай машыне пад Linux ці наадварот). На адным камп’ютары можа функцыянаваць некалькі віртуальных машын (гэта можа выкарыстоўвацца для імітацыі некалькіх сервераў на адным рэальным серверы з мэтай аптымізацыі ўжывання рэсурсаў сервера).
Канцэпцыя віртуальнай машыны як сукупнасці рэсурсаў, якія эмулююць паводзіны рэальнай машыны, з’явілася ў Кембрыджы ў канцы 1960-х гадоў як пашырэнне канцэпцыі віртуальнай памяці манчэстэрскай вылічальнай машыны Atlas (англ.).[1] У цэлым вылічальны працэс вызначаецца ў межах гэтай канцэпцыі зместам той рабочай прасторы памяці, да якой ён мае доступ. Пры ўмове, што пэўная сітуацыя ў гэтай рабочай прасторы адпавядае чаканай, працэс не мае аніякіх сродкаў для вызначэння таго, ці з’яўляецца прадстаўлены рэсурс сапраўды фізічным рэсурсам гэтага тыпу, альбо ж ён імітаваны дзеяннямі іншых рэсурсаў, якія прыводзяць да аналагічных зменаў змесціва рабочай прасторы працэсу.
Напрыклад, працэс не можа вызначыць, ці манапольна ён ужывае працэсар альбо ж у рэжыме мультыпраграмавання разам з іншымі працэсамі. У віртуальнай машыне аніводны працэс не можа манапольна ўжываць адвольны рэсурс, і ўсе сістэмныя рэсурсы лічацца рэсурсамі патэнцыйна сумеснага выкарыстання. Акрамя таго, ужыванне віртуальных машын забяспечвае развязку паміж некалькімі карыстальнікамі, якія працуюць у адной вылічальнай сістэме, забяспечваючы пэўны ўзровень абароны даных.
Ідэя віртуальнай машыны палягае ў падмурку цэлага шэрагу аперацыйных сістэм, у прыватнасці, IBM VM/CMS (і яе савецкага клону СВМ) і DEC VAX/VMS.
Віртуальныя машыны могуць выкарыстоўвацца для наступных мэт:
Некаторыя вядомыя віртуальныя машыны:
|
|
|