Prionsabail oibriúcháin ghinearálta QEMU-KVM

Prionsabail oibriúcháin ghinearálta QEMU-KVM

Mo thuiscint faoi láthair:

1) KVM

Is hypervisor (VMM - Bainisteoir Meaisín Fíorúil) é KVM (Meaisín Fíorúil bunaithe ar eithne) a ritheann mar mhodúl ar Linux OS. Tá gá le hypervisor chun roinnt bogearraí a rith i dtimpeallacht nach bhfuil ann (fíorúil) agus ag an am céanna a cheilt ó na bogearraí seo na crua-earraí fisiceacha ar a ritheann na bogearraí seo. Feidhmíonn an hypervisor mar “spacer” idir na crua-earraí fisiceacha (óstach) agus an OS fíorúil (aoi).

Ós rud é gur modúl caighdeánach den eithne Linux é KVM, faigheann sé na rudaí is gá go léir ón eithne (bainistiú cuimhne, sceidealóir, etc.). Agus dá réir sin, sa deireadh, téann na buntáistí seo go léir chuig na haíonna (ós rud é go n-oibríonn na haíonna ar hypervisor a ritheann ar / san eithne Linux OS).

Tá KVM an-tapa, ach leis féin ní leor OS fíorúil a rith, mar ... Éilíonn sé seo aithris I/O. Le haghaidh I/O (LAP, dioscaí, líonra, físeáin, PCI, USB, calafoirt srathach, etc.) úsáideann KVM QEMU.

2) QEMU

Is aithriseoir é QEMU (Quick Emulator) le haghaidh gléasanna éagsúla a ligeann duit córais oibriúcháin a reáchtáil atá deartha le haghaidh ailtireacht amháin ar cheann eile (mar shampla, ARM -> x86). Chomh maith leis an bpróiseálaí, déanann QEMU aithris ar fheistí forimeallacha éagsúla: cártaí líonra, HDD, cártaí físeáin, PCI, USB, etc.

Oibríonn sé mar seo:

Tiontaítear treoracha/cód dénártha (mar shampla, ARM) go cód ardán-neamhspleách idirmheánach ag baint úsáide as an tiontaire TCG (Tiny Code Generator) agus ansin déantar an cód dénártha ardán-neamhspleách seo a thiontú ina threoracha/cód sprice (mar shampla, x86).

ARM -> cód_ idirmheánach -> x86

Go bunúsach, is féidir leat meaisíní fíorúla a reáchtáil ar QEMU ar aon óstach, fiú le samhlacha próiseálaithe níos sine nach dtacaíonn Intel VT-x (Intel Virtualization Technology) / AMD SVM (AMD Secure Virtual Machine). Sa chás seo, áfach, oibreoidh sé go han-mhall, mar gheall ar an bhfíric go bhfuil gá an cód dénártha forghníomhaitheach a chur le chéile ar an eitilt faoi dhó, ag baint úsáide as TCG (TCG is tiomsaitheoir Just-in-Am).

Iad siúd. Tá QEMU féin iontach fionnuar, ach oibríonn sé go han-mhall.

3) Fáinní cosanta

Prionsabail oibriúcháin ghinearálta QEMU-KVM

Oibríonn cód clár dénártha ar phróiseálaithe ar chúis, ach tá sé suite ar leibhéil éagsúla (fáinní / fáinní Cosanta) le leibhéil éagsúla rochtana ar shonraí, ó na cinn is pribhléid (Ring 0), go dtí an ceann is teoranta, rialaithe agus “leis na cnónna tightened. ” ( Fáinne 3 ).

Ritheann an córas oibriúcháin (eithne OS) ar Ring 0 (modh eithne) agus is féidir leis cibé rud is mian leis a dhéanamh le haon sonraí agus feistí. Feidhmíonn feidhmchláir úsáideora ag leibhéal Ring 3 (modh úsáideora) agus ní cheadaítear dóibh cibé rud is mian leo a dhéanamh, ach ina ionad sin ní mór dóibh rochtain a iarraidh gach uair chun oibríocht ar leith a dhéanamh (mar sin, níl rochtain ag feidhmchláir úsáideora ach ar a sonraí féin agus ní féidir leo "a fháil isteach” i mbosca gainimh duine eile). Tá Fáinne 1 agus 2 beartaithe le húsáid ag tiománaithe.

Roimh aireagán Intel VT-x / AMD SVM, rith hypervisors ar Ring 0, agus rith aíonna ar Fáinne 1. Ós rud é nach bhfuil cearta leordhóthanacha ag Ring 1 maidir le gnáthoibriú an OS, le gach glao pribhléideach ón gcóras aoi, tá an bhí ar hypervisor an glao seo a mhodhnú ar an eitilt agus é a rith ar Fáinne 0 (cosúil le QEMU). Iad siúd. dénártha aoi NACH Cuireadh chun báis go díreach ar an próiseálaí, agus gach uair a chuaigh trí mhodhnuithe idirmheánacha éagsúla ar an eitilt.

Bhí an forchostais suntasach agus ba fhadhb mhór é seo, agus ansin d'eisigh monaróirí próiseálaithe, go neamhspleách ar a chéile, sraith leathnaithe treoracha (Intel VT-x / AMD SVM) a cheadaigh cód aoi OS a fhorghníomhú. DÍREACH ar an bpróiseálaí ósta (ag seachaint aon chéimeanna costasacha idirmheánacha, mar a bhí roimhe seo).

Le teacht Intel VT-x / AMD SVM, cruthaíodh leibhéal Ring nua speisialta -1 (lúide a haon). Agus anois ritheann an hypervisor air, agus ritheann na haíonna ar Ring 0 agus faigheann siad rochtain phribhléideach ar an LAP.

Iad siúd. sa deireadh:

  • ritheann óstach ar Ring 0
  • oibríonn aíonna ar Ring 0
  • ritheann hypervisor ar Ring -1

4) QEMU-KVM

Tugann KVM rochtain d’aíonna ar Fháinne 0 agus úsáideann sé QEMU chun aithris a dhéanamh ar an I/O (próiseálaí, dioscaí, líonra, físeán, PCI, USB, sraithphoirt, srl. a “fheiceann” na haíonna agus a oibríonn siad leo).

Mar sin QEMU-KVM (nó KVM-QEMU) :)

CREIDMHEASANNA
Íoslódáil an pictiúr chun aird a tharraingt
Pictiúr fáinní Cosanta

PS Foilsíodh téacs an ailt seo ar dtús sa chainéal Telegram @RU_Voip mar fhreagra ar cheist ó dhuine de rannpháirtithe an chainéil.

Scríobh sna tuairimí nuair nach dtuigim an topaic i gceart nó má tá aon rud le cur leis.

Go raibh maith agat!

Foinse: will.com

Add a comment