Virtual machine (VM, din engleză virtual machine ) - un sistem software și/sau hardware care emulează hardware-ul unei anumite platforme (guest - guest platform) și execută programe pentru platforma invitat pe platforma gazdă (gazdă - platformă gazdă, platformă - gazdă) sau virtualizarea unei anumite platforme și crearea de medii pe aceasta care izolează programele și chiar sistemele de operare unele de altele (vezi: sandbox ); A se vedea, de asemenea, specificația unui mediu de calcul (de exemplu: „mașină virtuală a limbajului de programare C”).
Mașina virtuală execută un cod independent de mașină (de exemplu , bytecode , threaded code , p-code ) sau cod de mașină de procesor real . Pe lângă procesor, un VM poate emula funcționarea atât a componentelor hardware individuale, cât și a unui întreg computer real (inclusiv BIOS , RAM , hard disk și alte periferice ). În acest din urmă caz, sistemele de operare pot fi instalate pe o mașină virtuală, la fel ca pe un computer real (de exemplu, Windows poate fi rulat într-o mașină virtuală sub Linux, sau invers). Mai multe mașini virtuale pot rula pe un singur computer (acest lucru poate fi folosit pentru a simula mai multe servere pe un singur server real pentru a optimiza utilizarea resurselor serverului).
Conceptul de mașină virtuală ca o colecție de resurse care simulează comportamentul unei mașini reale a apărut la Cambridge la sfârșitul anilor 1960 ca o extensie a conceptului de memorie virtuală al computerului Atlas Manchester [1] . În ansamblu , procesul de calcul este definit în cadrul acestui concept de conținutul spațiului de memorie de lucru la care are acces. Cu condiția ca situația specifică din acel spațiu de lucru să fie așa cum se așteaptă, procesul nu are mijloace de a determina dacă resursa care i se prezintă este într-adevăr o resursă fizică de acel tip sau dacă este simulată prin acțiuni ale altor resurse care au ca rezultat modificări similare ale conținutul spațiului de lucru al procesului. .
De exemplu, un proces nu poate determina dacă folosește procesorul exclusiv sau în modul multiprogramare cu alte procese. Într-o mașină virtuală, niciun proces nu poate folosi exclusiv orice resursă, iar toate resursele sistemului sunt considerate resurse potențial partajate. În plus, utilizarea mașinilor virtuale asigură decuplarea între mai mulți utilizatori care lucrează în același sistem de calcul, oferind un anumit nivel de protecție a datelor.
Ideea unei mașini virtuale stă la baza unui număr de sisteme de operare, în special, IBM VM/CMS (și clona sa sovietică CBM ) și DEC VAX/VMS .
Mașinile virtuale pot fi folosite pentru:
Câteva mașini virtuale notabile:
Medii de limbaj de programare
|
Sisteme de operare și hipervizoare | Emulatori de computer autonomi |