Nghọta m ugbu a:
1) KVM
KVM ( igwe mebere kernel) bụ hypervisor (VMM – Virtual Machine Manager) na-agba ọsọ dị ka modul na Linux OS. A chọrọ hypervisor iji na-agba ọsọ ụfọdụ software na gburugburu ebe adịghị adị (mebere) ma n'otu oge ahụ zoo na ngwanrọ a n'ezie ngwaike anụ ahụ nke ngwanrọ a na-arụ. Hypervisor na-arụ ọrụ dị ka “spacer” n'etiti ngwaike anụ ahụ (onye ọbịa) na os mebere (ọbịa).
Ebe KVM bụ ọkọlọtọ ọkọlọtọ nke Linux kernel, ọ na-enweta ihe ọma niile achọrọ site na kernel (nchịkwa ebe nchekwa, onye nhazi oge, wdg). N'ihi ya, na njedebe, uru ndị a niile na-aga ndị ọbịa (ebe ọ bụ na ndị ọbịa na-arụ ọrụ na hypervisor na-agba ọsọ na / na Linux OS kernel).
KVM na-adị ngwa ngwa, mana n'onwe ya ezughị iji rụọ ọrụ OS mebere, n'ihi na ... Nke a chọrọ nṅomi I/O. Maka I/O (CPU, disks, network, video, PCI, USB, serial ports, wdg) KVM na-eji QEMU.
2) QEMU
QEMU (Quick Emulator) bụ emulator maka ngwaọrụ dị iche iche na-enye gị ohere ịme sistemụ arụmọrụ emere maka otu ụkpụrụ ụlọ na nke ọzọ (dịka ọmụmaatụ, ARM -> x86). Na mgbakwunye na processor, QEMU na-eṅomi ngwaọrụ dị iche iche: kaadị netwọk, HDD, kaadị vidiyo, PCI, USB, wdg.
Ọ na-arụ ọrụ dị ka nke a:
A na-atụgharị ntuziaka/ koodu ọnụọgụ abụọ (dịka ọmụmaatụ, ARM) ka ọ bụrụ koodu nọọrọ onwe ya n'etiti ikpo okwu site na iji TCG (Tiny Code Generator) ntụgharị wee gbanwee koodu ọnụọgụ abụọ nwere onwe nke ikpo okwu a ka ọ bụrụ ntuziaka/koodu ebumnuche (dịka ọmụmaatụ, x86).
ARM –> intermediate_code –> x86
N'ụzọ bụ isi, ị nwere ike na-agba igwe mebere na QEMU na onye ọbịa ọ bụla, ọbụlagodi na ụdị nrụpụta ochie na-akwadoghị Intel VT-x (Intel Virtualization Technology) / AMD SVM (AMD Secure Virtual Machine). Otú ọ dị, na nke a, ọ ga-eji nwayọọ nwayọọ na-arụ ọrụ, n'ihi na eziokwu na-emezu ọnụọgụ abụọ koodu kwesịrị ka achịkọta ya na ofufe ugboro abụọ, iji TCG (TCG bụ a Just-in-Time compiler).
Ndị ahụ. QEMU n'onwe ya dị ezigbo mma, mana ọ na-arụ ọrụ nwayọ.
3) mgbanaka nchebe
Koodu mmemme ọnụọgụ abụọ na ndị na-arụ ọrụ na-arụ ọrụ maka ihe kpatara ya, mana ọ dị na ọkwa dị iche iche (mgbanaka / mgbanaka nchekwa) nwere ọkwa dị iche iche nke ịnweta data, site na ndị nwere oke (mgbanaka 0), na nke kacha oke, na-achịkwa na “na mkpụrụ osisi siri ike. ” (Mgbanaka nke 3).
Sistemụ arụ ọrụ (kernel OS) na-agba na mgbanaka 0 (ọnọdụ kernel) ma nwee ike iji data na ngwaọrụ ọ bụla mee ihe ọ bụla masịrị ya. Ngwa onye ọrụ na-arụ ọrụ na ọkwa mgbanaka 3 (ọnọdụ onye ọrụ) na anaghị ekwe ya mee ihe ọ bụla ha chọrọ, mana kama ọ ga-arịọrịrị ohere oge ọ bụla iji rụọ otu ọrụ (ya mere, ngwa onye ọrụ nwere naanị ịnweta data nke ha na enweghị ike ịnweta. banye” igbe ájá nke onye ọzọ). Ebubere mgbanaka 1 na 2 maka ndị ọkwọ ụgbọ ala.
Tupu mmepụta nke Intel VT-x / AMD SVM, hypervisors na-agba ọsọ na Ring 0, na ndị ọbịa na-agba ọsọ na mgbanaka 1. Ebe ọ bụ na mgbanaka 1 enweghị ikike zuru oke maka ọrụ nkịtị nke OS, na oku ọ bụla nwere ohere site na usoro ndị ọbịa, na hypervisor kwesịrị ịgbanwe oku a na ofufe wee mee ya na mgbanaka 0 (dị ka QEMU na-eme). Ndị ahụ. ọnụọgụ abụọ ọbịa Ọ BỤGHỊ e gburu ozugbo na processor, na oge ọ bụla wee site na ọtụtụ etiti mgbanwe na ofufe.
N'elu dị ịrịba ama na nke a bụ nnukwu nsogbu, mgbe ahụ, ndị na-emepụta ihe na-emepụta ihe, na-adabereghị na ibe ha, wepụtara usoro ntụziaka ogologo (Intel VT-x / AMD SVM) nke nyere ohere ịmepụta koodu OS ọbịa. EZIOKWU na onye nhazi nhazi (na-agafe usoro ọ bụla dị oke ọnụ ahịa, dị ka ọ dị na mbụ).
Site na ọbịbịa nke Intel VT-x / AMD SVM, e mepụtara ọkwa mgbanaka ọhụrụ pụrụ iche -1 (mwepu otu). Ma ugbu a hypervisor na-agba ọsọ na ya, ndị ọbịa na-agba ọsọ na Ring 0 wee nweta ohere ịnweta CPU.
Ndị ahụ. emecha:
- onye ọbịa na-agba na mgbanaka 0
- ndị ọbịa na-arụ ọrụ na mgbanaka 0
- hypervisor na-agba na mgbanaka -1
4) QEMU-KVM
KVM na-enye ndị ọbịa ohere ịnweta mgbanaka 0 ma jiri QEMU ṅomie I / O (processor, disks, network, video, PCI, USB, serial ports, wdg na ndị ọbịa "na-ahụ" ma na-arụ ọrụ).
Ya mere QEMU-KVM (ma ọ bụ KVM-QEMU):)
Udo
PS Ebu ụzọ ebipụta ederede akụkọ a na ọwa Telegram
Dee na nkwupụta ebe m na-aghọtaghị isiokwu nke ọma ma ọ bụ ọ bụrụ na ọ dị ihe ọ bụla ịgbakwunye.
Daalụ!
isi: www.habr.com