Virtualizare completă

În informatică , virtualizarea completă  este o tehnologie folosită pentru a oferi un mediu virtual specific care oferă simularea completă a hardware-ului de bază. Orice software care poate rula pe hardware-ul de bază poate fi rulat într-un mediu virtual, ca regulă generală orice sistem de operare ar trebui să ruleze fără probleme într-un mediu virtual, cu condiția să ruleze pe hardware-ul de bază. Alte tipuri de virtualizare a platformei permit doar o parte sau un software modificat să ruleze într-un mediu virtual.

Un exemplu de virtualizare completă este implementat în programul de control IBM CP / CMS OS . A fost demonstrat pentru prima dată pe sistemul de cercetare IBM CP-40 în 1967 , apoi a fost făcut open source la CP/CMS 1967-1972 și a fost introdus în linia VM din 1972 până în prezent. Fiecare utilizator CP/CMS a primit un computer autonom simulat. Fiecare astfel de mașină virtuală avea toate capabilitățile mașinii de bază, iar pentru utilizatorii săi, mașina virtuală nu se distingea de cea reală. Această simulare a fost completă și bazată pe principiul instrucțiunilor de operare pentru echipamente. Astfel, include elemente precum: set de instrucțiuni, RAM, întreruperi, excepții și dispozitive de acces. Rezultatul a fost un sistem care ar putea multiplexa mulți utilizatori.

Virtualizarea completă este posibilă numai cu combinația potrivită de hardware și software. De exemplu, nu a fost posibil în seria IBM System/360 , cu excepția IBM System/360-67, nici la începutul IBM System/370 până când IBM a adăugat hardware de memorie virtuală la System/370 în 1972.

Situația este similară cu platforma x86: virtualizarea completă nu a fost pe deplin posibilă înainte de adăugarea tehnologiilor AMD-V și Intel VT (aceste tehnologii vor fi discutate mai detaliat mai jos în secțiunea Virtualizare hardware). Multe produse de virtualizare pentru platforma x86 s-au apropiat și au anunțat virtualizarea completă chiar înainte de implementarea AMD-V și Intel-VT . Exemplele includ ADEOS, Mac-on-Linux, Parallels Desktop pentru Mac, Parallels Workstation, VMware Workstation, VMware Server (fostul GSX Server), VirtualBox, Win4BSD și Win4Lin Pro.

VMware , de exemplu, folosește o tehnică numită „ traducere binară ” pentru a modifica automat software-ul x86 din mers pentru a înlocui instrucțiunile cu secvențe de instrucțiuni sigure pentru mașina virtuală. Această tehnologie oferă aspectul unei virtualizări complete.

Un obiectiv cheie al virtualizării complete este interceptarea și simularea operațiunilor privilegiate, cum ar fi instrucțiunile I/O. Efectul executării fiecărui proces care rulează într-o anumită mașină virtuală ar trebui păstrat numai în cadrul acelei mașini virtuale — proceselor virtuale nu ar trebui să li se permită să schimbe starea altor mașini virtuale, demon sau hardware. Unele instrucțiuni ale mașinii pot fi executate direct pe hardware, deoarece rezultatele lor sunt cuprinse în întregime în elemente controlate de programul de control, cum ar fi registrele de memorie și aritmetice. Dar altor instrucțiuni nu li se poate permite să se execute direct - ele trebuie interceptate și simulate. Acestea sunt instrucțiuni pentru accesarea sau modificarea informațiilor statice care se află în afara mașinii virtuale.

Virtualizarea completă a fost testată cu succes pentru:

Vezi și