Ce este o mașină virtuală

Se pare că la sfârșit de an mă apucă cheful de scris pe acest blog. N-am uitat niciodată de el, dar timpul nu îmi permite să scriu atât de des și de mult pe cât mi-aș dori.

În ultima postare prezentam un mod simplu de a rula programe MS-DOS mai vechi pe sistemele de operare recente, mai ales pe cele pe 64 de biți. În articol menționam și posibilitatea utilizării unor mașini virtuale (virtual machines). Cred că este momentul și locul potrivit pentru a explica noțiunea de mașină virtuală.

Fiecare dintre noi are instalat pe computer un anumit sistem de operare, fie el Windows sau Linux.  Uneori apare nevoia rulării unor programe mai vechi, incompatibile cu sistemul de operare instalat, sau, în cazul unor entuziaști, apare dorința experimentării unor sisteme de operare exotice. Veți spune că pentru asta s-a inventat conceptul de dual-boot, adică instalarea în paralel a două sisteme de operare, însă această operațiune este consumatoare de timp și necesită repartiționarea hard-disk-ului, acțiune care poate produce pierderea datelor dacă este făcută incorect.

Soluția minune este reprezentată de mașinile virtuale, niște programe speciale care permit rularea în paralel a mai multor sisteme de operare.  Practic dacă ai Windows 8 instalat pe calculator și vrei să testezi ultima versiune de Ubuntu, cu ajutorul unei mașini virtuale vei putea rula Ubuntu într-o fereastră, ca pe orice program instalat pe computer. Nu e nevoie de setări complicate, repartiționări și modificări prin BIOS.

O mașină virtuală funcționează ca un calculator virtual. Acesta va rula în cadrul sistemului de operare curent, denumit și host sau gazdă, și va furniza servicii de tip hardware virtual sistemului de operare guest (musafir), care va rula ca orice program, Microsoft Word de exemplu.

Fiecare mașină virtuală creată va avea propriul hardware: un procesor virtual, memorie RAM, hard-diskuri, interfețe de rețea, interfețe grafice, mai nou chiar și cu accelerare 3D. Toate aceste resurse vor fi asociate resurselor calculatorului fizic. Din acest motiv numărul de mașini virtuale care pot fi rulate simultan (da, chiar poți rula Windows 8 pe calculator ca host și Windows XP într-o mașină virtuală și Ubuntu în altă mașină virtuală  și toate în același timp :)) este limitat de resursele fizice existente, în special de cantitatea de memorie RAM disponibilă.

De ce am folosi mașini virtuale? Iată doar câteva motive:

  • Testarea unor sisteme de operare noi, fără a repartiționa hard diskul și fără a afecta funcționarea sistemului existent;
  • Utilizarea unor programe mai vechi, incompatibile cu sisteme de operare actuale, în special cu cele pe 64-biți;
  • Testarea pe diverse sisteme de operare a programelor pe care le-am dezvoltate.

În realitate multe companii folosesc mașini virtuale pentru a rula sisteme de operare de tip server într-un mediu protejat. Fiecare mașină virtuală poate fi privită ca un container independent de celelalte, astfel încât o problema de securitate la una din ele nu va afecta restul de servere. Virtualizarea este des întâlnită și la providerii de hosting care oferă așa numite VPS-uri, servere virtuale private, mașini virtuale contectate permanent la internet, pe care utilizatorul le poate configura și exploata după bunul plac ca servere Web, mail, FTP sau pentru jocuri on-line.

Pentru a putea crea și rula mașini virtuale este necesar un software specializat. Există atât variante gratuite (VirtualBox, VMWare Player), dar și comerciale (VMWare Workstation).  Personal recomand VMWare Player, dar despre acesta voi scrie într-o postare viitoare.

13 Comments

  • Eu merg mai repede pe Virtualbox, nu pentru ca ar fi mai bun, ci pentru pe asta l-am folosit prima data si m-am obisnuit cu el.
    De altfel, este o solutie buna pentru cei care testeaza programe putin mai nesigure si…care pot fi virusate…

    • In domeniul asta eu cred ca e greu de spus ce soft de virtualizare e mai bun. Ai mare dreptate, conteaza in primul rand cu ce te-ai obisnuit…
      Lucrand intr-un mediu izolat o masina virtuala este mediul ideal pentru teste cu programe nesigure sau chiar cu virusi (pentru cei pasionati sa-i studieze).

  • un articol super interesant care m-a ajutat sa utilizez borland c++(varianta pe 16 biti) pe win 8 64bit,mi s-a parut foarte bun Vmare player,am rulat cu ajutorul lui ubuntu si windows xp fara nicio problema

  • Salut Emil

    felicitari pentru articolele de pe blogul tau. Am citit de curand
    http://blog.pricop.net/2012/12/ce-este-o-masina-virtuala/
    si as vrea sa inteleg cum functioneaza xp in masina virtuala (este ca un OS de sine statator, adica poti instala programe pe el (XP) si raman instalate, poti face update-uri acestor programe si raman acolo, poti customiza una sau alta la XP si ramane astfel?

    ca si varianta ai ramas la aceeasi parere ca preferinta: VMWare Player?

    Si inca o chestiune legata de procesoare: am citit pt i5 Haswell la mod de operare: 64 bit. Ai cumva idee daca pot instala si utiliza fara probleme XP 32 biti pt utilizare cu acest procesor? Cineva zicea de la un magazin MediaGalaxy imi spunea ca nu voi gasi drivere (da nu mi-a spus si drivere pt ce)?

    Toate cele bune,
    Eduard

    • Salut,

      In primul rand vreau sa-ti multumesc pentru cuvintele frumoase si pentru faptul ca urmaresti acest blog.

      Iata si raspunsurile la intrebari:
      1. O masina virtuala “simuleaza” un calculator fizic. Practic ai acces la BIOS, poti instala ce sistem de operare vrei, poti porni/opri masina virtuala. Daca instalezi Windows XP, il poti folosi ca pe un sistem independent, in care se pot instala aplicatii, poti instala update-uri, drivere si se pot salva fisiere.
      Eu folosesc in continuare VMWare Player, care raspunde bine tuturor cerintelor mele.

      2. Un procesor pe 64 de biti poate rula software pe 32 de biti (sisteme de operare, aplicatii, etc.). Invers nu se poate, deci daca ai un procesor pe 32 de biti (arhitectura x86) nu poti instala un sistem de operare pe 64 de biti. Angajatul de la Media Galaxy are intr-un fel dreptate, Windows XP fiind un sistem de operare mai vechi, pentru care multi producatori de componente nu mai scriu drivere. Daca iti iei un calculator puternic (procesorul de care ziceai, minim 4 GB RAM, un hdd mare) poti instala un Windows 7/8 si poti rula programele mai vechi intr-o masina virtuala in care pui sistem de operare un Windows XP.

      Daca te pot ajuta cu ceva, nu ezita sa ma intrebi!

      Emil

  • SUper articol,foarte bine explicat ,scurt si la obiect…multumesc foarte mult !

  • Salut,

    In primul rand, dupa instalarea Windows-ului XP ar trebui sa instalezi VMWare Tools (utilitare sistem si drivere necesare pentru a compatibiliza Windows-ul cu rularea intr-o masina virtuala).
    O alta posibilitate ar fi sa dai masinii virtuale mai mult RAM (1,5 GB), sa aloci mai multe nuclee procesor (daca ai un procesor multi-core) si sa inchizi programele pe care le folosesti pe host cat timp te joci in masina virtuala.

    Numai bine,
    Emil

  • Buna seara,
    Trebuie sa va spun ca stiu foarte putine (spre deloc) despre aceste lucruri (pregatirea mea este in domeniul economic), si cu toate acestea articolul mi-a clarficat cateva lucruri.
    Caut o solutie cat mai buna pentru gazduirea pe un server extern a aplicatiilor pe care le implementam acum. Este vorba do doua soft-uri diferite (unul pentru 30 de magazine, oferit de o firma si altul, o solutie ERP, oferit de alta firma). Am intrat pe mai multe site- uri ale unor firme care ofera servicii de hosting, si am vazut ca exista posibilitatea crearii unui VDS sau a unui VPS, primul fiind mult mai ieftin decat al doilea.
    Nu-mi este foarte clara diferenta dintre cele doua solutii si as vrea sa o aleg pe cea mai buna, chiar daca aceasta nu este cea mai ieftina.
    Va multumesc!

    • Bun gasit,

      Va multumesc pentru mesaj!
      In general VDS si VPS indica acelasi serviciu – un server virtual privat.
      In urma cu ceva ani VDS-urile erau privite ca versiunile high-end ale VPS-urilor, dar in momentul de fata nu exista diferente majore intre ele.

  • Foarte util articol! Multumesc domnule Emil!

  • Salutare,
    Am si eu o intrebare.
    Cum pot mutiplica o VM (mai exact, am o masina gata facuta si vreau sa-i fac o copie si sa am inca una la fel), (eventual ii schimb doar denumirea)

    • Salut,

      În funcție de softul de virtualizare (VMWare Player sau VirtualBox) trebuie copiate fișierele corespunzătoare mașinii virtuale căreia vrei să-i faci o copie. VMWare Player crează un fișier *.vmx și mai multe *.vmdk care sunt localizate într-un folder (director) care are același nume cu mașina virtuală.

      Emil

Got anything to say? Go ahead and leave a comment!

*