TeknologjiInfrastrukturëServera

Makinë virtuale

Në informatikë, një makinë virtuale (VM) është virtualizimi ose emulimi i një sistemi kompjuterik. Makinat virtuale bazohen në arkitekturat kompjuterike dhe ofrojnë funksionalitetin e një kompjuteri fizik.

O

Oltion Elezi

·7 min lexim

1 shikime
Makinë virtuale

Në informatikë, një makinë virtuale (VM) është virtualizimi ose emulimi i një sistemi kompjuterik. Makinat virtuale bazohen në arkitekturat kompjuterike dhe ofrojnë funksionalitetin e një kompjuteri fizik. Implementimi i tyre mund të përfshijë pajisje të specializuara, softuer ose një kombinim të të dyjave.

Makinat virtuale ndryshojnë dhe janë të organizuara sipas funksionit të tyre, siç tregohet këtu:

Makinat virtuale të sistemit (të quajtura edhe VM me virtualizim të plotë ose SysVM) ofrojnë një zëvendësim për një makinë reale. Ato ofrojnë funksionalitetin e nevojshëm për të ekzekutuar të gjitha sistemet operative. Një hipervizor përdor ekzekutimin nativ për të ndarë dhe menaxhuar harduerin, duke lejuar mjedise të shumëfishta që janë të izoluara nga njëra-tjetra, por që ekzistojnë në të njëjtën makinë fizike. Hipervizorët modernë përdorin virtualizim të asistuar nga hardueri, me veçori hardueri specifike për virtualizimin në CPU-të pritëse që ofrojnë ndihmë për hipervizorët.

Makinat virtuale të procesit janë të dizajnuara për të ekzekutuar programe kompjuterike në një mjedis të pavarur nga platforma.

Disa emulatorë të makinave virtuale, siç janë QEMU dhe emulatorët e konsolave ​​të lojërave video, janë projektuar për të emuluar (ose "imituar virtualisht") arkitektura të ndryshme të sistemit, duke lejuar kështu ekzekutimin e aplikacioneve softuerike dhe sistemeve operative të shkruara për një CPU ose arkitekturë tjetër. Virtualizimi në nivel sistemi operativ lejon që burimet e një kompjuteri të ndahen nëpërmjet bërthamës. Termat nuk janë universalisht të këmbyeshëm.

Përkufizime

Makinat virtuale të sistemit

Një 'makinë virtuale' u përcaktua fillimisht nga Popek dhe Goldberg si "një kopje efikase dhe e izoluar e një makine kompjuterike reale". Përdorimi aktual përfshin makina virtuale që nuk kanë korrespondencë të drejtpërdrejtë me asnjë harduer real. Hardueri fizik, "i botës reale" që drejton VM-në përgjithësisht quhet 'host', dhe makina virtuale e emuluar në atë makinë përgjithësisht quhet 'mysafir'. Një host mund të emulojë disa mysafirë, secili prej të cilëve mund të emulojë sisteme operative dhe platforma hardueri të ndryshme.

Dëshira për të ekzekutuar sisteme të shumëfishta operative ishte motivi fillestar për makinat virtuale, në mënyrë që të lejohej ndarja e kohës midis disa sistemeve operative me një detyrë të vetme. Në disa aspekte, një makinë virtuale sistemi mund të konsiderohet si një përgjithësim i konceptit të memories virtuale që historikisht i parapriu asaj. CP/CMS i IBM-it, sistemet e para që lejuan virtualizimin e plotë, zbatuan ndarjen e kohës duke i ofruar secilit përdorues një sistem operativ me një përdorues të vetëm, Sistemin e Monitorimit të Bisedës (CMS). Ndryshe nga memoria virtuale, një makinë virtuale sistemi i jepte të drejtë përdoruesit të shkruante udhëzime të privilegjuara në kodin e tij. Kjo qasje kishte disa përparësi, të tilla si shtimi i pajisjeve hyrëse/dalëse që nuk lejoheshin nga sistemi standard.

Ndërsa teknologjia evoluon memorien virtuale për qëllime të virtualizimit, sisteme të reja të mbingarkesës së memories mund të aplikohen për të menaxhuar ndarjen e memories midis shumë makinave virtuale në një sistem operativ kompjuteri. Mund të jetë e mundur të ndahen faqe memorieje që kanë përmbajtje identike midis shumë makinave virtuale që funksionojnë në të njëjtën makinë fizike, gjë që mund të rezultojë në hartëzimin e tyre në të njëjtën faqe fizike me anë të një teknike të quajtur bashkimi i faqes së njëjtë të bërthamës (KSM). Kjo është veçanërisht e dobishme për faqet vetëm për lexim, të tilla si ato që mbajnë segmente kodi, siç është rasti për shumë makina virtuale që ekzekutojnë të njëjtin softuer ose të ngjashëm, biblioteka softuerësh, servera web, komponentë middleware, etj. Sistemet operative mysafire nuk kanë nevojë të jenë në përputhje me harduerin pritës, duke bërë kështu të mundur ekzekutimin e sistemeve të ndryshme operative në të njëjtin kompjuter (p.sh., Windows, Linux ose versione të mëparshme të një sistemi operativ) për të mbështetur softuerët e ardhshëm.

Përdorimi i makinave virtuale për të mbështetur sisteme operative të veçanta mysafirësh është popullor në lidhje me sistemet e ngulitura. Një përdorim tipik do të ishte ekzekutimi i një sistemi operativ në kohë reale njëkohësisht me një sistem operativ kompleks të preferuar, siç janë Linux ose Windows. Një përdorim tjetër do të ishte për softuer të ri dhe të paprovuar që janë ende në fazën e zhvillimit, kështu që funksionojnë brenda një sandbox-i. Makinat virtuale kanë avantazhe të tjera për zhvillimin e sistemit operativ dhe mund të përfshijnë akses të përmirësuar në debugging dhe rinisje më të shpejta.

Shumë makina virtuale (VM) që përdorin sistemin e tyre operativ mysafir angazhohen shpesh për konsolidimin e serverëve.

Përpunoni makinat virtuale

Një makinë virtuale procesi, e quajtur ndonjëherë një makinë virtuale aplikacioni, ose Managed Runtime Environment (MRE), funksionon si një aplikacion normal brenda një sistemi operativ pritës dhe mbështet një proces të vetëm. Krijohet kur ai proces fillon dhe fshihet kur mbyllet. Qëllimi i saj është të ofrojë një mjedis programimi të pavarur nga platforma që abstrakton detajet e harduerit ose sistemit operativ themelor dhe lejon që një program të ekzekutohet në të njëjtën mënyrë në çdo platformë.

Një VM procesi ofron një abstraksion të nivelit të lartë - atë të një gjuhe programimi të nivelit të lartë (krahasuar me abstraksionin ISA të nivelit të ulët të VM të sistemit). VM-të e procesit zbatohen duke përdorur një interpretues; performancë e krahasueshme me gjuhët e programimit të kompiluara mund të arrihet duke përdorur kompilimin vetëm në kohë.

Ky lloj VM-je është bërë popullor me gjuhën e programimit Java, e cila zbatohet duke përdorur makinën virtuale Java. Shembuj të tjerë përfshijnë makinën virtuale Parrot dhe .NET Framework, i cili funksionon në një VM të quajtur Common Language Runtime. Të gjitha këto mund të shërbejnë si një shtresë abstraksioni për çdo gjuhë kompjuteri.

Një rast i veçantë i VM-ve të proceseve janë sistemet që abstraktojnë mbi mekanizmat e komunikimit të një klasteri kompjuterik (potencialisht heterogjen). Një VM e tillë nuk përbëhet nga një proces i vetëm, por nga një proces për makinë fizike në klaster. Ato janë të dizajnuara për të lehtësuar detyrën e programimit të aplikacioneve të njëkohshme duke i lejuar programuesit të përqendrohet në algoritme në vend të mekanizmave të komunikimit të ofruara nga ndërlidhja dhe sistemi operativ. Ato nuk e fshehin faktin se komunikimi zhvillohet dhe si të tilla nuk përpiqen ta paraqesin klasterin si një makinë të vetme.

Ndryshe nga makinat virtuale të proceseve të tjera, këto sisteme nuk ofrojnë një gjuhë programimi specifike, por janë të integruara në një gjuhë ekzistuese; zakonisht një sistem i tillë ofron lidhje për disa gjuhë (p.sh., C dhe Fortran). Shembuj janë Makina Virtuale Paralele (PVM) dhe Ndërfaqja e Kalimit të Mesazheve (MPI).

Histori

Si makinat virtuale të sistemit ashtu edhe makinat virtuale të procesit datojnë që nga vitet 1960 dhe mbeten fusha të zhvillimit aktiv.

Makinat virtuale të sistemit u rritën nga ndarja e kohës, siç është zbatuar dukshëm në Sistemin e Ndarjes së Kohës së Përputhshme (CTSS). Ndarja e kohës u lejonte përdoruesve të shumtë të përdornin një kompjuter njëkohësisht: çdo program dukej se kishte akses të plotë në makinë, por vetëm një program ekzekutohej në atë kohë, me sistemin që kalonte midis programeve në segmente kohore, duke ruajtur dhe rivendosur gjendjen çdo herë. Kjo evoluoi në makina virtuale, veçanërisht nëpërmjet sistemeve kërkimore të IBM: M44/44X, i cili përdorte virtualizim të pjesshëm, dhe CP-40 dhe SIMMON, të cilët përdornin virtualizim të plotë, dhe ishin shembuj të hershëm të hipervizorëve. Arkitektura e parë e makinës virtuale gjerësisht e disponueshme ishte CP-67/CMS (shih Historinë e CP/CMS për detaje). Një dallim i rëndësishëm ishte midis përdorimit të makinave të shumta virtuale në një sistem pritës për ndarjen e kohës, si në M44/44X dhe CP-40, dhe përdorimit të një makine virtuale në një sistem pritës për prototipim, si në SIMMON. Emulatorët, me emulim harduerik të sistemeve të mëparshme për pajtueshmëri, datojnë që nga IBM System/360 në vitin 1963, ndërsa emulimi i softuerit (i quajtur atëherë "simulim") i paraprin atij.


Lexoni më tej

Virtualizimi

Në informatikë, virtualizimi (ose virtualizimi në anglishten e Komonuelthit; shih ndryshimet drejtshkrimore) i shkurtuar si v12n, është një seri teknologjish që lejon ndarjen e burimeve fizike të informatikës në një seri makinash virtuale, sistemesh operative, procesesh ose…

Kompjuterizim pa server

Kompjuterizimi pa server është "një kategori shërbimesh cloud ku klienti mund të përdorë lloje të ndryshme të aftësive cloud pa pasur nevojë që klienti të sigurojë, vendosë dhe menaxhojë burime harduerike ose softuerike, përveç ofrimit të kodit të aplikacionit të klientit ose…

Infrastruktura si shërbim

Infrastruktura si shërbim (IaaS) është një model shërbimi i cloud computing ku një shitës shërbimesh cloud ofron burime kompjuterike si ruajtje, rrjet, servera dhe virtualizim (i cili imiton harduerin e kompjuterit).

O

Shkruar nga

Oltion Elezi

Founder & CEO of Elei Soft