Sisteme de Operare Avansate

Similar documents
Versionare - GIT ALIN ZAMFIROIU

Metrici LPR interfatare cu Barix Barionet 50 -

Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice

Semnale şi sisteme. Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC)

Textul si imaginile din acest document sunt licentiate. Codul sursa din acest document este licentiat. Attribution-NonCommercial-NoDerivs CC BY-NC-ND

2. Setări configurare acces la o cameră web conectată într-un router ZTE H218N sau H298N

MS POWER POINT. s.l.dr.ing.ciprian-bogdan Chirila

Procesarea Imaginilor

Ghid identificare versiune AWP, instalare AWP şi verificare importare certificat în Store-ul de Windows

Reflexia şi refracţia luminii. Aplicaţii. Valerica Baban

Structura și Organizarea Calculatoarelor. Titular: BĂRBULESCU Lucian-Florentin

Mods euro truck simulator 2 harta romaniei by elyxir. Mods euro truck simulator 2 harta romaniei by elyxir.zip

COMUNICAȚII INFORMATIZARE

Curs 1 17 Februarie Adrian Iftene

Update firmware aparat foto

Mecanismul de decontare a cererilor de plata

GHID DE TERMENI MEDIA

Universitatea Politehnica București. Facultatea de Electronică, Telecomunicații și Tehnologia Informației

Multicore Multiprocesoare Cluster-e

Documentaţie Tehnică

Managementul referinţelor cu

INSTRUMENTE DE MARKETING ÎN PRACTICĂ:

Modalitǎţi de clasificare a datelor cantitative

ARBORI AVL. (denumiti dupa Adelson-Velskii si Landis, 1962)

Lucrarea Nr.1. Sisteme de operare. Generalitati

ANTICOLLISION ALGORITHM FOR V2V AUTONOMUOS AGRICULTURAL MACHINES ALGORITM ANTICOLIZIUNE PENTRU MASINI AGRICOLE AUTONOME TIP V2V (VEHICLE-TO-VEHICLE)

3. CLOUD COMPUTING Sisteme de calcul distribuite

Auditul financiar la IMM-uri: de la limitare la oportunitate

Documentație. Protejarea infrastructurii virtuale, fără impact asupra performanței

METODE DE EVALUARE A IMPACTULUI ASUPRA MEDIULUI ŞI IMPLEMENTAREA SISTEMULUI DE MANAGEMENT DE MEDIU

Calculatoare Numerice II Interfaţarea unui dispozitiv de teleghidare radio cu portul paralel (MGSH Machine Guidance SHell) -proiect-

Subiecte Clasa a VI-a

Class D Power Amplifiers

A Compared Aproach: ASP versus PHP

Reţele Neuronale Artificiale în MATLAB

VIRTUAL INSTRUMENTATION IN THE DRIVE SUBSYSTEM MONITORING OF A MOBIL ROBOT WITH GESTURE COMMANDS

9. Memoria. Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date.

Aspecte controversate în Procedura Insolvenţei şi posibile soluţii

X-Fit S Manual de utilizare

LIDER ÎN AMBALAJE EXPERT ÎN SISTEMUL BRAILLE

3.2 Arhitectura setului de instrucţiuni ISA. Copyright Paul GASNER

Propuneri pentru teme de licență

Capitolul IV Utilizarea bazelor de date în Internet

Ghid pentru configurarea şi utilizarea aplicaţiei clicksign Demo

Olimpiad«Estonia, 2003

La fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - <numarul dvs de carnet> (ex: "9",

Excel Advanced. Curriculum. Școala Informală de IT. Educație Informală S.A.

Candlesticks. 14 Martie Lector : Alexandru Preda, CFTe

Proiectarea Sistemelor Software Complexe

INFORMAȚII DESPRE PRODUS. FLEXIMARK Stainless steel FCC. Informații Included in FLEXIMARK sample bag (article no. M )

Mai bine. Pentru c putem.

SISTEM ONLINE DE ÎNVĂŢĂMÂNT

Anexa nr. 1 la Hotărârea nr. 245 din Standarde moldovenești adoptate

Managementul Proiectelor Software Metode de dezvoltare

MODELUL UNUI COMUTATOR STATIC DE SURSE DE ENERGIE ELECTRICĂ FĂRĂ ÎNTRERUPEREA ALIMENTĂRII SARCINII

D în această ordine a.î. AB 4 cm, AC 10 cm, BD 15cm

Transmiterea datelor prin reteaua electrica

Laborator 1. Programare declarativă. Programare logică. Prolog. SWI-Prolog

2. Setări configurare acces la o cameră web conectată într-un echipament HG8121H cu funcție activă de router

ACADEMIA DE STUDII ECONOMICE. Integrarea Sistemelor Informatice

O ALTERNATIVĂ MODERNĂ DE ÎNVĂŢARE

USING MOBILE AGENTS FOR INFORMATION RETRIEVAL IN B2B SYSTEMS

Universitatea George Bariţiu, Braşov

TWITRENDS SISTEM DE PROCESARE A STREAM-URILOR ÎN TIMP REAL ÎN ERA BIG DATA

CAPITOLUL 1 SISTEME DE CALCUL

manivelă blocare a oglinzii ajustare înclinare

Figura x.1 Ecranul de pornire al mediului de dezvoltare

Probleme și provocări în arhitecturile de tip cloud. Issues and Challenges in Cloud Computing Architectures

REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC

SISTEME DE CALCUL. LIMBAJ DE ASAMBLARE. SIMULATORUL QTSPIM UAL DPE. Fig.1. Structura unui sistem de calcul

Semnare digitală configurări și proceduri de lucru Manual de utilizare

PACHETE DE PROMOVARE

GHID RAPID PENTRU. Instalarea Nokia Connectivity Cable Drivers

THE IMPACT OF SEVERAL PARAMETERS ON RECEIVED SIGNAL STRENGTH IN INDOOR ENVIRONMENT

Itemi Sisteme de Operare

Capete terminale şi adaptoare pentru cabluri de medie tensiune. Fabricaţie Südkabel Germania

ACTA TECHNICA NAPOCENSIS

USING SERIAL INDUSTRIAL ROBOTS IN CNC MILLING PROCESESS

Eficiența energetică în industria românească

O arhitectură client-server two-tier portabilă pentru gestiunea sarcinilor la distanţă. erimp

Updating the Nomographical Diagrams for Dimensioning the Concrete Slabs

CAIETUL DE SARCINI Organizare evenimente. VS/2014/0442 Euro network supporting innovation for green jobs GREENET

SPEED CONTROL OF DC MOTOR USING FOUR-QUADRANT CHOPPER AND BIPOLAR CONTROL STRATEGY

The driving force for your business.

SISTEME DE CALCUL. LIMBAJ DE ASAMBLARE. SIMULATORUL PCSPIM UAL DPE. Fig.1. Structura unui sistem de calcul

Sisteme integrate de servicii distribuite. Studii de caz

Prima. Evadare. Ac9vity Report. The biggest MTB marathon from Eastern Europe. 7th edi9on

TIME COMPASS: O APLICAȚIE DE TIME MANAGEMENT PENTRU ANDROID

ISBN-13:

Lucrarea nr. 7. Configurarea reţelelor în Linux

Ghid de utilizare Modul CI+

INPUT MODELLING USING STATISTICAL DISTRIBUTIONS AND ARENA SOFTWARE

Ierarhia memoriilor Tipuri de memorii Memorii semiconductoare Memoria cu unități multiple. Memoria cache Memoria virtuală

THE MEASUREMENT OF MAGNETIC FIELD IN TWO POWER DISTRIBUTION SUBSTATIONS

CHAMPIONS LEAGUE 2017 SPONSOR:

REAL TIME QUALITY CONTROL OF THE HEATSET OFFSET PRINTING PROCESS

Evoluția pieței de capital din România. 09 iunie 2018

Mihai ROMANCA. Microprocesoare şi microcontrolere

Compania. Misiune. Viziune. Scurt istoric. Autorizatii şi certificari

The First TST for the JBMO Satu Mare, April 6, 2018

Transcription:

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

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 1

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ă. 2

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 3

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] 4

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 5

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. 6

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 7

î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 8

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ă 9

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 10

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 11

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ă. 12

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ă. 13

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. 14