+ All Categories
Home > Documents > “Modul de funcționare și caracteristicile generale ale...

“Modul de funcționare și caracteristicile generale ale...

Date post: 31-Aug-2019
Category:
Upload: others
View: 7 times
Download: 0 times
Share this document with a friend
15
Universitatea Politehnică Bucureşti Facultatea de Electronică, Telecomunicaţii şi Tehnologia Informaţiei Sisteme de Operare Avansate “Modul de funcționare și caracteristicile generale ale mașinilor virtualeProfesor coordonator: prof. univ. dr. ing. Ştefan Stăncescu Student: Sipică Alin-Marian Grupa: IISC anul I, sem I Anul universitar 2016-2017
Transcript
Page 1: “Modul de funcționare și caracteristicile generale ale ...stst.elia.pub.ro/news/SOA/Teme_SOA_16_17/Sipica Alin-Marian/Modul de... · 1.2 Notiuni introductive despre masini virtuale

Universitatea Politehnică Bucureşti

Facultatea de Electronică, Telecomunicaţii şi Tehnologia Informaţiei

Sisteme de Operare Avansate

“Modul de funcționare și caracteristicile generale ale mașinilor virtuale”

Profesor coordonator: prof. univ. dr. ing. Ştefan Stăncescu

Student: Sipică Alin-Marian

Grupa: IISC – anul I, sem I

Anul universitar

2016-2017

Page 2: “Modul de funcționare și caracteristicile generale ale ...stst.elia.pub.ro/news/SOA/Teme_SOA_16_17/Sipica Alin-Marian/Modul de... · 1.2 Notiuni introductive despre masini virtuale

Sisteme de Operare Avansate MODUL DE FUNCȚIONARE ȘI CARACTERISTICILE GENERALE ALE MAȘINILOR VIRTUALE

1

CUPRINS

1. Introducere .......................................................................................................................... 2

1.1 Scopul lucrarii .......................................................................................................... 2

1.2 Notiuni introductive despre masini virtuale ............................................................. 2

2. Notiuni despre HAL (Hardware Abstraction Layer) ........................................................... 5

3. Modele de masini virtuale ................................................................................................... 7

3.1 Masina VMware ........................................................................................................ 7

3.2 Masina Java ............................................................................................................... 9

3.3 Masina Z (Z-Machine) ............................................................................................ 11

3.4 Masina x86 (conceptul de virtualizare) ................................................................... 12

5. Concluzii ............................................................................................................................ 13

6. Bibliografie ........................................................................................................................ 14

Page 3: “Modul de funcționare și caracteristicile generale ale ...stst.elia.pub.ro/news/SOA/Teme_SOA_16_17/Sipica Alin-Marian/Modul de... · 1.2 Notiuni introductive despre masini virtuale

Sisteme de Operare Avansate MODUL DE FUNCȚIONARE ȘI CARACTERISTICILE GENERALE ALE MAȘINILOR VIRTUALE

2

INTRODUCERE

1.1 Scopul lucrarii

Lucrarea de fata are drept scop prezentarea conceptelor ce stau la baza masinariilor virtuale,

iar totodata, o listare a celor mai proeminente modele, alaturi de caracteristicile fiecareia. Astfel,

drept inceput vom prezenta notiuni introductive, generale, despre masinariile virtuale, avand in

vedere scopul, intrebuintarea, dezvoltarea, si implementarea modelului teoretic al acestora.

Totodata, vom discuta in detaliu despre HAL (Hardware Abstraction Layer) si cele mai

raspandite sau inspirationale modele de masinarie virtuala. Ulterior, vom concluziona lucrarea cu

o serie de observatii bine definite pe parcurs.

1.2 Notiuni introductive despre masini virtuale

În calcul, o mașină virtuală (cunoscuta sub acronimul "VM", de la "Virtual Machine" in

limba engleza) este o emulație a unui sistem informatic. Mașinile virtuale se bazează pe

arhitecturi informatice și oferă funcționalitatea unui computer fizic. Implementările lor pot

implica hardware specializat, software sau o combinație. Există diferite tipuri de mașini virtuale,

fiecare cu funcții diferite:

Mașinile virtuale de sistem (numite și VM de virtualizare completă) oferă un substitut

pentru o mașină reală. Ele oferă funcționalitatea necesară pentru a executa întregul

sistem de operare. Un hypervisor ("supraveghetor") utilizează execuția nativă pentru a

partaja și gestiona hardware-ul, permițând existența unor medii multiple care sunt

izolate unele de altele și totuși există pe aceeași mașină fizică. Hipervizorii moderni

utilizează virtualizarea asistată de hardware, hardware-ul specific pentru virtualizare,

în primul rând de la procesoarele gazdă.

Procesele de mașini virtuale sunt concepute pentru a executa programe de calculator

într-un mediu independent de platformă.

Page 4: “Modul de funcționare și caracteristicile generale ale ...stst.elia.pub.ro/news/SOA/Teme_SOA_16_17/Sipica Alin-Marian/Modul de... · 1.2 Notiuni introductive despre masini virtuale

Sisteme de Operare Avansate MODUL DE FUNCȚIONARE ȘI CARACTERISTICILE GENERALE ALE MAȘINILOR VIRTUALE

3

Unele mașini virtuale, cum ar fi QEMU (acronim de la cuvantul "Quick Emulator", ce

inseamna "Emulator Rapid" in engleza), sunt concepute pentru a emula diferite arhitecturi și

pentru a permite executarea aplicațiilor software și a sistemelor de operare scrise pentru un alt

procesor sau arhitectură. [1] Sistemul de operare la nivel de virtualizare permite resurselor unui

calculator să fie împărțite prin suportul kernel-ului pentru mai multe instanțe de spațiu pentru

utilizatori izolati, care sunt de obicei denumite containere și pot arăta ca și mașini reale pentru

utilizatorii finali.

Reprezentarea conceptului de „masina virtuala”

Mecanismele virtuale ale sistemului au crescut din timpul de partajare, așa cum s-a

implementat în mod special în sistemul compatibil de distribuire a timpului. Distribuirea

timpului a permis mai multor utilizatori să foloseasca simultan un computer: fiecare program

părea să aibă acces deplin la mașină, însă la acel moment a fost executat un singur program,

sistemul schimbând programele în timp, salvând și restaurând de fiecare dată statusul. Acestea au

evoluat în mașini virtuale, în special prin intermediul sistemelor de cercetare ale IBM: M44 /

44X, care utilizează virtualizarea parțială, și CP-40 și SIMMON, care au folosit virtualizarea

completă și au fost exemple timpurii de hypervizori.

Mașinile virtuale de proces au apărut inițial ca platforme abstracte pentru un limbaj

intermediar utilizat ca reprezentare a unui program de către un compilator. Un exemplar din

1966 a fost mașina O-cod, care execută "codul O" (un predecesor al codului obiect), emis de

Page 5: “Modul de funcționare și caracteristicile generale ale ...stst.elia.pub.ro/news/SOA/Teme_SOA_16_17/Sipica Alin-Marian/Modul de... · 1.2 Notiuni introductive despre masini virtuale

Sisteme de Operare Avansate MODUL DE FUNCȚIONARE ȘI CARACTERISTICILE GENERALE ALE MAȘINILOR VIRTUALE

4

partea frontală a compilatorului BCPL. Această abstractizare a permis compilatorului să fie

portat cu ușurință într-o nouă arhitectură prin implementarea unui nou back-end care a preluat

codul O existent și l-a compilat în codul mașinii pentru mașina fizică de bază. Limba Euler a

folosit un design similar, cu limbajul intermediar numit "P" (portabil). Acest lucru a fost

popularizat în jurul anului 1970 de către Pascal, în special în sistemul Pascal-P (1973) și al

compilatorului Pascal-S (1975), în care acesta a fost denumit "p-cod" și mașina rezultată ca

"mașină cu coduri p". [2]

Page 6: “Modul de funcționare și caracteristicile generale ale ...stst.elia.pub.ro/news/SOA/Teme_SOA_16_17/Sipica Alin-Marian/Modul de... · 1.2 Notiuni introductive despre masini virtuale

Sisteme de Operare Avansate MODUL DE FUNCȚIONARE ȘI CARACTERISTICILE GENERALE ALE MAȘINILOR VIRTUALE

5

NOȚIUNI DESPRE HAL

(HARDWARE ABSTRACTION LAYER)

În calcul, virtualizarea asistată de hardware este o abordare a platformei care permite o

virtualizare completă si eficientă, utilizând ajutorul capabilităților hardware, în special de

procesoarele masinii gazdă. Virtualizarea este utilizată pentru a simula un mediu hardware

complet sau o mașină virtuală, în care un sistem de operare gazdă (folosind același set de

instrucțiuni ca și aparatul gazdă) se execută în izolare completă. Asistența hardware-asistată a

fost adăugată procesoarelor x86 (Intel VT-x sau AMD-V) în 2005 și 2006. Virtualizarea asistată

de hardware este, de asemenea, cunoscută sub numele de "virtualizare accelerată".

Creșterea capacității de calcul pe serverul x86 (și în special creșterea substanțială a

lățimii de bandă a rețelelor moderne), a readus interesul față de calculul realizat in centre de date,

folosind tehnicile de virtualizare. Virtualizarea a permis unui singur server să consolideze în mod

eficient, din punct de vedere al costurilor, puterea de calcul pe mai multe servere dedicate care

nu sunt utilizate. Cea mai vizibilă amprentă a revenirii la rădăcini ale computerelor este cloud

computing, care este un sinonim pentru computerele de date bazate pe date (sau computere de tip

"mainframe") prin rețele de bandă largă. Arhitectura x86 de implementare inițială nu îndeplinea

cerințele de virtualizare "Popek și Goldberg" pentru a realiza "virtualizarea clasică":

echivalență: un program care rulează sub monitorul mașinii virtuale (VMM)

trebuie să prezinte un comportament în esență identic cu cel demonstrat atunci

când rulează direct pe o mașină

eficiență: o fracție dominantă statistic a instrucțiunilor mașinii trebuie executată

fără intervenția VMM

Pentru a compensa aceste limitări arhitecturale, designerii au realizat virtualizarea

arhitecturii x86 prin două metode: virtualizare completă sau paravirtualizare. [3] Ambele creau

iluzia hardware-ului fizic pentru a atinge obiectivul independenței sistemului de operare față de

hardware, dar prezintand unele compromisuri în ceea ce privește performanța și complexitatea.

Virtualizarea completă a fost implementată în VMS de prima generație x86. Se bazează pe

traducerea binară în "capcana" (instructiune de "fetch", tradusa prin ideea de "capcana") și

Page 7: “Modul de funcționare și caracteristicile generale ale ...stst.elia.pub.ro/news/SOA/Teme_SOA_16_17/Sipica Alin-Marian/Modul de... · 1.2 Notiuni introductive despre masini virtuale

Sisteme de Operare Avansate MODUL DE FUNCȚIONARE ȘI CARACTERISTICILE GENERALE ALE MAȘINILOR VIRTUALE

6

virtualizează executarea anumitor instrucțiuni sensibile, non-virtualizabile. Cu această abordare,

instrucțiunile critice sunt descoperite (static sau dinamic la timpul de execuție) și înglobate de

VMM pentru a fi emulate în software. Traducerea binară poate genera cheltuieli de performanță

în comparație cu o mașină virtuală care rulează pe arhitecturi virtualizate nativ, cum ar fi IBM

System / 370. VirtualBox, VMware Workstation (numai pentru 32 de biți) și Microsoft Virtual

PC, sunt implementări comerciale cunoscute de virtualizare completă.

Paravirtualizarea este o tehnică în care hipervizorul oferă un API, iar sistemul de

operare al mașinii virtuale gazdă solicită API-ul, care necesită modificări ale sistemului de

operare.

Page 8: “Modul de funcționare și caracteristicile generale ale ...stst.elia.pub.ro/news/SOA/Teme_SOA_16_17/Sipica Alin-Marian/Modul de... · 1.2 Notiuni introductive despre masini virtuale

Sisteme de Operare Avansate MODUL DE FUNCȚIONARE ȘI CARACTERISTICILE GENERALE ALE MAȘINILOR VIRTUALE

7

MODELE DE MAȘINI VIRTUALE

3.1 Mașini VMware

VMware Workstation Pro și VMware Workstation Player sunt standardul industrial

pentru rularea mai multor sisteme de operare ca mașini virtuale pe un singur PC. Mii de

profesioniști IT, dezvoltatori și companii folosesc VMwareWorkstation Pro și VMware

Workstation Player pentru a fi mai agile, mai productive și mai sigure în fiecare zi. Produsele

VMware Workstation permit utilizatorilor să ruleze mai multe sisteme de operare, inclusiv

Linux, Windows și altele, ca mașini virtuale pe un singur PC. Utilizatorii pot replica medii de

servere, desktop și tablete pe o mașină virtuală, pentru a rula aplicații simultan în sistemele de

operare fără a reporni. Stația de lucru oferă, de asemenea, un mediu izolat și sigur pentru a

evalua noile sisteme de operare precum Windows 10 și aplicațiile software de testare, patch-uri

și arhitecturi de referință. VMware Workstation este un hypervisor găzduit care rulează pe

versiuni x64 ale sistemelor de operare Windows și Linux [4] (o versiune x86 a versiunilor

anterioare a fost disponibilă); permite utilizatorilor să instaleze mașini virtuale (VM) pe o

singură mașină fizică , și să le folosiți simultan împreună cu mașina actuală. Fiecare mașină

virtuală poate executa propriul sistem de operare, inclusiv versiuni de Microsoft Windows,

Linux, BSD și MS-DOS. VMware Workstation este dezvoltat și vândut de VMware, Inc., divizia

Dell Technologies. Există o versiune gratuită, VMware Workstation Player, pentru utilizare

necomercială. Este necesară o licență pentru sistemele de operare pentru utilizarea unor

dispozitive brevetate, cum ar fi Windows. VM-urile Linux create pentru diferite scopuri sunt

disponibile din mai multe surse.

VMware Workstation suportă adaptarea adaptoarelor de rețea gazdă existente și

partajarea unităților fizice de disc și a dispozitivelor USB cu o mașină virtuală. Poate simula

unitățile de disc; un fișier imagine ISO poate fi montat ca o unitate de disc optică virtuală, iar

unitățile hard disk virtuale sunt implementate ca fișiere .vmdk. VMware Workstation Pro poate

salva starea unei mașini virtuale în orice moment. Aceste imagini pot fi restaurate mai târziu,

returnând efectiv mașina virtuală la starea salvată așa cum a fost și fără nici un fel de deteriorare

postmodernă a VM. VMware Workstation include abilitatea de a grupa mai multe mașini virtuale

Page 9: “Modul de funcționare și caracteristicile generale ale ...stst.elia.pub.ro/news/SOA/Teme_SOA_16_17/Sipica Alin-Marian/Modul de... · 1.2 Notiuni introductive despre masini virtuale

Sisteme de Operare Avansate MODUL DE FUNCȚIONARE ȘI CARACTERISTICILE GENERALE ALE MAȘINILOR VIRTUALE

8

într-un director de inventar. Mașinile dintr-un astfel de folder pot fi apoi alimentate și dezactivate

ca un singur obiect, util pentru testarea unor medii complexe client-server.

Arhitectura logica a unei masinarii VMware

Multe mașini virtuale deja existente (VM) care rulează pe VMware Player, Workstation

și alte programe de virtualizare sunt disponibile în scopuri specifice, fie pentru cumpărare, fie

gratuit; De exemplu, "dispozitive de browser" gratuite bazate pe Linux cu Firefox sau cu un alt

browser instalat care poate fi folosit pentru navigarea în siguranță în Web; Dacă sunt infectate

sau deteriorate, acestea pot fi aruncate și înlocuite cu o copie curată. Aparatul poate fi configurat

Page 10: “Modul de funcționare și caracteristicile generale ale ...stst.elia.pub.ro/news/SOA/Teme_SOA_16_17/Sipica Alin-Marian/Modul de... · 1.2 Notiuni introductive despre masini virtuale

Sisteme de Operare Avansate MODUL DE FUNCȚIONARE ȘI CARACTERISTICILE GENERALE ALE MAȘINILOR VIRTUALE

9

să se reseteze automat după fiecare utilizare, astfel încât informațiile personale și alte modificări

nu sunt stocate. VM distribuite în mod legal au doar sisteme de operare distribuite în mod liber,

deoarece sistemele de operare pe VP trebuie să fie licențiate; Gadgeturile Microsoft Windows

VG, în special, nu sunt distribuite, cu excepția versiunilor de evaluare.

Doua masini VMware ce utilizeaza Windows 8 si Windows 10,

ruland pe un Mac OS

3.2 Mașini Java

O mașină virtuală Java este o mașină abstractă de calcul care permite unui computer să

ruleze un program Java. Există trei noțiuni ale JVM: specificație, implementare și instanță.

Specificația este un document care descrie în mod oficial ceea ce este necesar pentru

implementarea JVM. Având o singură specificație, toate implementările sunt interoperabile.

Implementarea JVM este un program de calculator care îndeplinește cerințele specificației JVM.

O instanță a unui JVM este o implementare care rulează într-un proces care execută un program

compilat în Java bytecode. Java Runtime Environment este un pachet software care conține ceea

ce este necesar pentru a rula un program Java. Acesta include o implementare Java Virtual

Machine împreună cu o implementare a Bibliotecii de clase Java. Oracle Corporation, care deține

marca comercială Java, distribuie un mediu Java Runtime cu mașina lor virtuală Java denumită

Page 11: “Modul de funcționare și caracteristicile generale ale ...stst.elia.pub.ro/news/SOA/Teme_SOA_16_17/Sipica Alin-Marian/Modul de... · 1.2 Notiuni introductive despre masini virtuale

Sisteme de Operare Avansate MODUL DE FUNCȚIONARE ȘI CARACTERISTICILE GENERALE ALE MAȘINILOR VIRTUALE

10

HotSpot. Masina virtuala Java este un calculator abstract (virtual) definit de o specificatie.

Această specificație omite detaliile implementării care nu sunt esențiale pentru a asigura

interoperabilitatea: aspectul memoriei zonelor de date de rulare, algoritmul de colectare a

gunoiului folosit și orice optimizare internă a instrucțiunilor mașinii virtuale Java (traducerea lor

în codul mașinii). Motivul principal al acestei omisiuni este acela de a nu constrânge în mod

inutil implementatorii. Orice aplicație Java poate fi rulată numai în interiorul unei implementări

concrete a specificației abstracte a mașinii virtuale Java. [5]

Reprezentarea logica a unei masini virtuale Java

JVM funcționează pe valori primitive (numere întregi și puncte în virgulă mobilă) și

referințe. JVM este în mod fundamental o mașină pe 32 de biți. Tipuri de date long și double,

care sunt 64 biți, sunt suportate nativ, dar consumă două unități de stocare în variabilele locale

ale cadrului sau în stackul de operații, deoarece fiecare unitate are 32 de biți. Boolean, byte, short

și tipuri de caractere sunt toate semn-extinse (cu excepția caracterelor care sunt zero-extinse) și

funcționează ca întregi pe 32 de biți, la fel ca int. Tipurile mai mici au doar câteva instrucțiuni

specifice pentru încărcare, stocare și conversie de tip. Boolean nu este deloc cunoscut de JVM;

booleanii funcționează ca valori octet pe 8 biți, 0 reprezentând false și 1 reprezentând true. JVM

are un model "recycle" pentru depozitarea obiectelor și a rețelelor. Codul, constantele și alte date

Page 12: “Modul de funcționare și caracteristicile generale ale ...stst.elia.pub.ro/news/SOA/Teme_SOA_16_17/Sipica Alin-Marian/Modul de... · 1.2 Notiuni introductive despre masini virtuale

Sisteme de Operare Avansate MODUL DE FUNCȚIONARE ȘI CARACTERISTICILE GENERALE ALE MAȘINILOR VIRTUALE

11

de clasă sunt stocate în "zona metodei". Zona metodei face parte logic din stiva, dar

implementările pot trata zona separată de coada și, de exemplu, nu ar putea să o colecteze.

Fiecare thread JVM are și propriul său stack de apel (numit "stivă virtuală Java Java" pentru

claritate), care stochează cadre. Un nou cadru este creat de fiecare dată când este apelată o

metodă, iar cadrul este distrus când metoda ieșită.

Fiecare cadru oferă un "stack operand" și o serie de "variabile locale". Stackul de operand

este folosit pentru operandi la calcule si pentru primirea valorii returnate a unei metode numite,

in timp ce variabilele locale servesc aceluiasi scop ca registrele si sunt de asemenea folosite

pentru a trece argumentele metodelor. Astfel, JVM este o masina de stivuire si o masina de

inregistrare. Mediul Java Runtime Environment (JRE) lansat de Oracle este o distribuție de

software care conține un Java VM (HotSpot) autonom, plugin browser, biblioteci standard Java

și un instrument de configurare. Este cel mai comun mediu Java instalat pe computerele

Windows. Este disponibil gratuit pentru descărcare de pe site-ul java.com.

3.3 Mașina Z (Z Machine)

Masina Z este o mașină virtuală dezvoltată de Joel Berez și Marc Blank în 1979 și

folosită de Infocom pentru jocurile de aventură text. Infocom a compilat codul de joc în fișiere

care conțin instrucțiuni de mașină Z (numite fișiere de poveste sau fișiere Z-cod) și, prin urmare,

ar putea porni toate aventurile sale text într-o nouă platformă, pur și simplu scriind o

implementare a mașinii Z pentru platforma respectivă. Cu numărul mare de sisteme

incompatibile de calculator de uz curent utilizate în acel moment, acesta a fost un avantaj

important față de utilizarea codului nativ sau dezvoltarea unui compilator pentru fiecare sistem.

După ce Mediagenic a relocat Infocom în California în 1989, Computer Gaming World a

declarat că "ZIL ... este mort din punct de vedere funcțional" și a raportat zvonuri despre un

"parser complet nou care nu poate fi folosit niciodată". Compilatorul (numit Zilch) pe care

Infocom l-a folosit pentru a produce fișierele de poveste nu a fost lansat niciodată, deși

documentația pentru limba folosită (numită ZIL pentru Zork Implementation Language) încă mai

există și a fost scris un înlocuitor open-source (numit ZILF). În mai 1993, Graham Nelson a

lansat prima versiune a compilatorului Inform, care generează, de asemenea, fișierele de istorie a

Page 13: “Modul de funcționare și caracteristicile generale ale ...stst.elia.pub.ro/news/SOA/Teme_SOA_16_17/Sipica Alin-Marian/Modul de... · 1.2 Notiuni introductive despre masini virtuale

Sisteme de Operare Avansate MODUL DE FUNCȚIONARE ȘI CARACTERISTICILE GENERALE ALE MAȘINILOR VIRTUALE

12

mașinilor Z, chiar dacă limba sursă Inform este destul de diferită de ZIL. Cele mai multe fișiere

produse de Inform sunt versiunea 5. Frotz a fost inițial scris în C de către Stefan Jokisch în 1995

pentru DOS. În timp a fost portat pe alte platforme, cum ar fi Unix, RISC OS, Mac OS și, cel

mai recent, iOS. [6] Efectele de sunet și grafica au fost suportate în grade diferite. Până în 2002,

dezvoltarea a stagnat și programul a fost preluat de David Griffith. Baza de coduri a fost apoi

separată distinct între mașina virtuală și porțiunile interfeței utilizator astfel încât mașina virtuală

a devenit complet independentă de orice interfață de utilizator. Acest lucru a permis mult mai

multă varietate în portul Frotz. Unul dintre porturile străine este, de asemenea, unul dintre cele

mai simple: un bot de mesagerie instantanee este înfășurat în jurul unei versiuni de Frotz, cu un

minim de funcționalitate IO, creând un bot cu care se pot juca majoritatea jocurilor Z-machine

folosind un client instant messenger.

3.4 Mașini x86 (conceptul de virtualizare)

În calcul, virtualizarea x86 se referă la virtualizarea hardware pentru arhitectura x86.

Permite sistemelor de operare multiple să partajeze simultan resursele procesoarelor x86 într-un

mod sigur și eficient. La sfârșitul anilor 1990, virtualizarea x86 a fost realizată prin tehnici

complexe de software, necesare pentru a compensa lipsa suportului de virtualizare de către

procesor în timp ce atingerea unor performanțe rezonabile. În 2006, atât Intel (VT-x), cât și

AMD (AMD-V) au introdus un suport limitat de virtualizare a hardware-ului, care a permis un

software de virtualizare mai simplu, dar a oferit beneficii foarte reduse vitezei. Sprijinul

hardware mai mare, care a permis îmbunătățiri substanțiale ale vitezei, a venit cu modele de

procesoare ulterioare. Cercetătorii VMware au subliniat într-o lucrare ASPLOS din 2006 că

tehnicile de mai sus au făcut platforma x86 virtualizabilă în sensul îndeplinirii celor trei criterii

ale lui Popek și Goldberg, deși nu prin tehnica clasică de capcană și emulate. O altă rută a fost

luată de alte sisteme precum Denali, L4 și Xen, cunoscute sub numele de paravirtualizare, care

implică portarea sistemelor de operare pentru a rula pe mașina virtuală rezultată, care nu

implementează componentele setului real de instrucțiuni x86 greu de virtualizat . I / O

paravirtualizate are beneficii semnificative de performanță, așa cum sa demonstrat în hârtia

SOSP'03 Xen originală.

Page 14: “Modul de funcționare și caracteristicile generale ale ...stst.elia.pub.ro/news/SOA/Teme_SOA_16_17/Sipica Alin-Marian/Modul de... · 1.2 Notiuni introductive despre masini virtuale

Sisteme de Operare Avansate MODUL DE FUNCȚIONARE ȘI CARACTERISTICILE GENERALE ALE MAȘINILOR VIRTUALE

13

CONCLUZII

Mai mulți furnizori oferă software pentru mașini virtuale, însă doi dominanți au dominat

piața: VMware și Microsoft. VMware are un portofoliu matur de produse, cu mulți ani de

utilizare în industria IT. Mai multe alternative cu sursă deschisă se dezvoltă rapid, cu

caracteristici noi și cu o stabilitate sporită, dar nu au aceleași opțiuni de maturitate sau de sprijin

ca aceste oferte ale furnizorilor. Mașinile virtuale sunt construite pentru a oferi utilizatorilor

propriul hardware virtual, inclusiv un CPU virtual, o memorie, un hard disk, o interfață de rețea

și alte dispozitive. Dispozitivele hardware virtuale furnizate de mașina virtuală sunt lipite de

hardware-ul real funcțional al mașinii dvs. fizice. De exemplu, un hard disk virtual al unui

computer virtual este stocat într-un fișier care se găsește pe hard disk. Mai mult decât atât, puteți

avea câteva mașini virtuale instalate pe sistemul dvs., unde sunteți constrânși numai de spațiul de

stocare pe care îl aveți la dispoziție. După instalarea sistemelor de operare în mașinile virtuale,

puteți deschide programul dvs. de computer virtual și puteți alege mașina virtuală pe care doriți

să o bootați numai atunci când sistemul de operare invitat este activat și rulează într-o fereastră în

sistemul dvs. de operare gazdă.

Page 15: “Modul de funcționare și caracteristicile generale ale ...stst.elia.pub.ro/news/SOA/Teme_SOA_16_17/Sipica Alin-Marian/Modul de... · 1.2 Notiuni introductive despre masini virtuale

Sisteme de Operare Avansate MODUL DE FUNCȚIONARE ȘI CARACTERISTICILE GENERALE ALE MAȘINILOR VIRTUALE

14

BIBLIOGRAFIE

[1] - "Licensing manual” wiki.qemu.org, „Support” tab, pag 3.

[2] - „Modern Operating Systems”, Tannenbaum, cap 1.7.3, pag 97

[3] – "A Comparison of Software and Hardware Techniques for x86 Virtualization" Adams,

Keith. Retrieved 20 January 2013, cap 4, pag 5.

[4] - "A Comparison of Software and Hardware Techniques for x86 Virtualization" Adams,

Keith. Retrieved 20 January 2013, cap 1, pag 1.

[5] – „Inside the Java Virtual Machine”, Bill Venners, cap 5.

[6] – "Frotz README file on Github". Retrieved 2016-10-29.


Recommended