Projeya NetBSD hîpervisorek nû ya NVMM pêşve dike

Pêşdebirên Projeya NetBSD ragihand di derbarê afirandina hîpervisorek nû û stûna virtualîzasyona têkildar de, ku jixwe di şaxê NetBSD-ya ceribandinê de cih digirin û dê di serbestberdana aram a NetBSD 9 de bêne pêşkêş kirin. çalakkirina mekanîzmayên virtualîzekirina hardware: x86-SVM bi piştgirîkirina AMD û x64-VMX pêvekên virtualîzasyona CPU-yê ji bo CPU-yên Intel. Di forma xweya heyî de, gengaz e ku meriv 86 makîneyên virtual li ser yek mêvandar bixebite, ku her yek ji wan dikare heta 86 core pêvajoya virtual (VCPU) û 128 GB RAM were veqetandin.

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 HAXM û Bhyve, ev e ku di asta kernelê de tenê hindiktirîn rêza girêdanên li dora mekanîzmayên virtualîzasyona hardware tête kirin, û hemî kodên emûlasyona hardware ji kernelê di cîhê bikarhêner de têne derxistin. Ev nêzîkatî dihêle hûn mîqdara koda ku bi îmtiyazên bilindkirî têne darve kirin kêm bikin û xetera têkbirina tevahî pergalê di bûyera êrişên li ser qelsiyên di hîpervisor de kêm bikin. Wekî din, ceribandina debugging û fuzzing a projeyê bi rengek berbiçav hêsan 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.

Projeya NetBSD hîpervisorek nû ya NVMM pêşve dike

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 Ev rê dide bi serfirazî pergalên mêvan bi FreeBSD, OpenBSD, Linux, Windows XP/7/8.1/10 û OS-yên din li ser pergalên x86_64 bi pêvajoyên AMD û Intel-ê dimeşînin (NVMM bixwe bi mîmariyek taybetî ve ne girêdayî ye, mînakî, heke paşnavê guncan were afirandin. , ew ê bikaribe li ser pergalên ARM64 bixebite). Di nav deverên serîlêdana bêtir ên NVMM de, îzolekirina sandboxê ya serîlêdanên kesane jî tê destnîşan kirin.

Projeya NetBSD hîpervisorek nû ya NVMM pêşve dike

Source: opennet.ru

Add a comment