Pêşdebirên Projeya NetBSD
NVMM ajokerek ku di asta kernelê ya pergalê de dimeşe û gihîştina mekanîzmayên virtualîzasyona hardware, û stûnek Libnvmm ku di cîhê bikarhêner de dimeşe hevrêz dike. Têkiliya di navbera hêmanên kernel û cîhê bikarhêner de bi IOCTL ve tête kirin. Taybetmendiyek NVMM ku wê ji hîpervisorên wekî KVM cuda dike ev e
Lêbelê, Libnvmm bixwe fonksiyonên emulatorê nagire, lê tenê API-yek peyda dike ku dihêle hûn piştgiriya NVMM-ê di emulatorên heyî de yek bikin, mînakî QEMU. API fonksiyonên wekî çêkirin û destpêkirina makîneyek virtual, veqetandina bîranînê ji pergala mêvan re, û veqetandina VCPU vedigire. Ji bo baştirkirina ewlehiyê û kêmkirina vektorên êrişê yên gengaz, libnvmm tenê fonksiyonên ku bi eşkere têne xwestin peyda dike - ji hêla xwerû ve, rêvebirên tevlihev bixweber nayên gazî kirin û heke ji wan were dûrxistin dibe ku qet neyê bikar anîn. NVMM hewl dide ku tiştan hêsan bihêle, bêyî ku pir tevlihev bibe, û dihêle hûn bi qasî ku gengaz be gelek aliyên xebata xwe kontrol bikin.
Beşa asta kernelê ya NVMM bi kernela NetBSD re pir hişk e, û rê dide performansa çêtir bi kêmkirina hejmara guheztinên kontekstê di navbera OS-ya mêvan û hawîrdora mêvandar de. Li aliyê cîhê bikarhêner, libnvmm hewl dide ku operasyonên I/O yên hevpar berhev bike û ji çêkirina bangên pergalê yên nehewce dûr bixe. Pergala veqetandina bîranînê li ser bingeha binepergala pmap-ê ye, ku dihêle hûn rûpelên bîranîna mêvanan ji dabeşkirina guheztinê derxînin di rewşa kêmbûna bîranînê de di pergalê de. NVMM ji kilît û pîvanên gerdûnî bêpar e, ku dihêle hûn di heman demê de navgînên CPU yên cihêreng bikar bînin da ku makîneyên virtual yên mêvan ên cihêreng bixebitin.
Çareseriyek-based QEMU hatiye amadekirin ku NVMM bikar tîne da ku mekanîzmayên virtualîzasyona hardware çalak bike. Xebatên ji bo tevlêkirina paçên hatine amadekirin di avahiya sereke ya QEMUyê de didome. Kombînasyona QEMU + NVMM jixwe ye
Source: opennet.ru