Ano ang isang Virtual Machine - Mga Uri at Pakinabang

Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema





Ang konsepto ng isang virtual machine ay ipinakilala sa paligid ng 1960. Ito ang ebolusyon ng diskarteng pagbabahagi ng oras. Sa pamamaraang pagbabahagi ng oras, ang bawat programa ay may ganap na pag-access sa lahat ng mga mapagkukunan ng computer ngunit sa isang pagkakataon, isang programa lamang ang naisakatuparan. Lumipat ang system sa pagitan ng mga programa sa mga hiwa ng oras habang nagse-save at ibabalik ang mga estado ng programa sa bawat oras. Sa paggamit ng paraan ng pagbabahagi ng oras, maraming mga gumagamit ang maaaring gumamit ng system ng computer nang magkakasabay. Ang mga sentro ng pagsasaliksik ng IBM ay nagbago ng pamamaraang pagbabahagi ng oras bilang Virtual Machine. Ang CP-67 ang unang magagamit arkitektura ng virtual machine . Ang mga system na may maraming mga Virtual Machine sa isang solong host at solong virtual machine sa maraming host ay binuo.

Bago ilunsad ang anumang bagong hardware teknolohiya , ito ay unang nasubukan sa emulator upang makita, muling likhain at ayusin ang mga bahid sa disenyo at iakma ang mga kinakailangang hakbang. Katulad nito, bago ipakilala ang anumang bagong software, naka-simulate ito upang suriin para sa anumang mga error at i-debug ang mga ito. Upang magawa ang gawaing ito, isang system na maaaring kumilos bilang isang kapalit para sa pangunahing kapaligiran upang makabuo ng bagong teknolohiya. Dito makikita ang larawan ng Mga Virtual Machine. Gumagawa ito bilang pagtulad ng computer system na nagbibigay ng buong pag-andar ng pisikal na sistema.




Ano ang isang Virtual Machine?

Sa pagpapakilala ng mga bagong teknolohiya at mas bagong mga modelo ng pagsasaliksik, maraming bilang ng mga produktong hardware at software ang inilulunsad. Marami sa mga software ay umaasa sa platform samakatuwid mahirap kung i-debug o suriin ang mga ito dahil sa limitadong mga mapagkukunan ng hardware.

Ang isang VM (virtual machine) ay isang pagtulad ng isang computer system, kung saan ang mga machine na ito ay gumagamit ng mga arkitektura ng computer upang maibigay ang pagpapaandar ng isang pisikal na computer. Ang pisikal na aparato kung saan gumagana ang mga virtual machine ay kilala bilang Host, samantalang ang mga virtual machine ay kilala bilang Bisita. Ang isang solong host ay maaaring magkaroon ng maraming bilang ng mga panauhin.



Mga uri ng Virtual Machine

Gumagana ang virtual machine tulad ng isang computer, at ito ay sandboxed mula sa natitirang sistema ng host. Ang software sa loob ng panauhin ay hindi maaaring gumawa ng mga pagbabago sa software ng host system. Kaya, ang mga file ng virus ay maaaring masubukan gamit ang isang virtual machine nang hindi nakakaapekto sa pangunahing computer system. Ang software ng computer na lumilikha at nagpapatakbo ng virtual machine ay kilala bilang Hypervisor. Batay sa kanilang mga pagpapaandar mayroong dalawang magkakaibang uri ng mga virtual machine - System virtual machine at iproseso ang mga virtual machine.

1). System Virtual Machines


Ang mga uri ng VM na ito ay nagbibigay ng buong virtualization. Kumikilos bilang kapalit ng totoong makina, magbibigay ang mga ito ng mga pagpapaandar upang magpatupad ng isang kabuuan operating system . Ang mga mapagkukunan ng hardware ay ibinabahagi at pinamamahalaan, na bumubuo ng maraming mga kapaligiran sa host system. Ang mga kapaligiran na ito ay nakahiwalay sa bawat isa ngunit mayroon sa parehong pisikal na host. Sa gayon, nagbibigay ito ng pagbabahagi ng oras sa maraming mga operating system na solong-tasking.

Upang payagan ang pagbabahagi ng memorya sa pagitan ng iba't ibang mga virtual machine sa isang computer operating system , maaaring mailapat ang mga system ng overcommitment ng memorya. Ang mga pahina ng memorya na mayroong magkatulad na nilalaman ay maaaring ibahagi sa maraming mga virtual machine na naroroon sa parehong pisikal na host. Ito ay lubos na kapaki-pakinabang para sa mga pahina ng read-only.

2). Iproseso ang Mga Virtual Machine (VM)

Ang mga VM na ito ay kilala rin bilang Application virtual machine, Pinamamahalaang mga kapaligiran sa runtime. Ang ganitong uri ng VM ay tumatakbo bilang isang normal na application sa loob ng operating system ng host, na sumusuporta sa isang solong proseso. Nilikha ito sa pagsisimula ng proseso at nawasak kapag natapos ang proseso. Ginagamit ito upang magbigay ng independiyenteng platform programa kapaligiran sa proseso, pinapayagan itong isagawa sa parehong pamamaraan sa alinman sa iba pang mga platform.

Proseso-Virtual-Machine

Proseso-Virtual-Machine

Ang mga ito ay ipinatupad gamit ang mga interpreter at nagbibigay ng mga mataas na antas na mga abstraction. Ang mga ito ay popular na ginagamit para sa Java programming na gumagamit ng Java virtual machine para sa pagpapatupad ng mga programa. Mayroong isang espesyal na kaso ng isang proseso na VM na nag-iiwan sa mekanismo ng komunikasyon ng isang kumpol ng kompyuter. Naglalaman ang mga ito ng isang proseso bawat pisikal na makina sa kumpol. Tinutulungan nito ang programmer na tumuon sa algorithm sa halip na ang proseso ng komunikasyon na ibinigay ng magkakaugnay at virtual machine sa OS . Ang application na tumatakbo sa VM na ito ay may access sa lahat ng mga serbisyo ng operating system. Ang parallel virtual machine, ang interface ng pagpasa ng mensahe ay mga halimbawa ng mga virtual machine (VM).

Arkitektura

Ang Runtime software ay ang virtualization software na nagpapatupad ng Process VM. Ito ay ipinatupad sa antas ng API ng arkitektura ng computer sa itaas ng pinagsamang layer ng OS at Hardware. Ginagaya nito ang mga tagubilin sa antas ng gumagamit pati na rin ang mga tawag sa OS o library. Para sa system virtual machine, ang virtualization software ay tinatawag na Virtual Machine Monitor (VMM). Ang software na ito ay naroroon sa pagitan ng host hardware machine at ng panauhing software. Ginaya ng VMM ang hardware ISA na pinapayagan ang software ng panauhin na magpatupad ng ibang ISA.

Mga kalamangan

Ang ilan sa mga pakinabang ng mga virtual machine ay ang mga sumusunod-

  • Nagbibigay ang mga virtual machine ng pagiging tugma ng software sa software na tumatakbo dito. Sa gayon ang lahat ng software na nakasulat para sa virtualized host ay tatakbo din sa virtual machine.
  • Nagbibigay ito ng paghihiwalay sa pagitan ng iba't ibang uri ng mga operating system at proseso. Kaya't ang operating system ng operating na tumatakbo sa isang virtual machine ay hindi maaaring mabago ang mga proseso ng iba pang mga virtual machine at Host system.
  • Nagbibigay ang mga ito ng encapsulation at software na naroroon sa isang virtual machine na maaaring mabago at makontrol.
  • Para sa host ng multi-operating system, nagbibigay ang mga ito ng iba't ibang mga tampok tulad ng walang dual booting, paglilipat ng mga file sa pagitan ng mga virtual machine, ang error sa isang OS ay hindi nakakaapekto sa iba pang OS na nasa host, ang freash OS ay maaaring maidagdag nang madali.
  • Nagbibigay ang mga ito ng mahusay na pamamahala ng software tulad ng mga ito ay maaaring magpatakbo ng isang kumpletong software stack ng host machine, patakbuhin ang legacy OS, atbp.
  • Dito posible na ibahagi ang mga mapagkukunan ng Hardware sa mga independiyenteng stack ng software at upang balansehin ang pagkarga, ang mga Virtual machine ay maaaring ilipat sa iba't ibang mga computer.

Kaya, ang mga modernong sistema ng computing ay nagiging mas kumplikado na naglalaman ng iba't ibang malapit na pakikipag-ugnay na software at mga bahagi ng hardware. Dito, ang virtualization ay gumaganap bilang isang teknolohiya ng magkakaugnay. Ginagawa ng mga virtual machine na hindi tugma ang mga subsystem upang magtulungan. Nagbibigay din ito ng mas may kakayahang umangkop at mabisang paggamit ng mga mapagkukunan ng hardware sa maraming mga operating system. Nagbibigay ang mga ito ng interoperability sa pagitan ng hardware, system software, at mga application. Ano ang mga pagkakaiba sa pagitan ng Proseso Virtual Machine at system Virtual Machine?