Pwojè NetBSD ap devlope yon nouvo ipèvizè NVMM

NetBSD Pwojè Devlopè te anonse sou kreyasyon yon nouvo hypervisor ak pil Virtualization ki asosye, ki deja enkli nan branch eksperimantal NetBSD-aktyèl la epi yo pral ofri nan lage ki estab nan NetBSD 9. NVMM se kounye a limite a sipòte achitekti x86_64 la epi li bay de backend pou pèmèt mekanis Virtualization pyès ki nan konpitè: x86-SVM ak sipò pou AMD ak x86-VMX CPU Virtualization ekstansyon pou CPU Intel. Nan fòm aktyèl li yo, li posib pou kouri jiska 128 machin vityèl sou yon sèl lame, chak nan yo ka resevwa lajan jiska 256 nwayo processeur vityèl (VCPU) ak 128 GB RAM.

NVMM gen ladann yon chofè ki kouri nan nivo nwayo sistèm lan epi ki kowòdone aksè nan mekanis Virtualization pyès ki nan konpitè, ak yon pil Libnvmm ki kouri nan espas itilizatè. Entèraksyon ant eleman nwayo ak espas itilizatè fèt atravè IOCTL. Yon karakteristik nan NVMM ki fè distenksyon li soti nan hypervisors tankou KVM se HAXM ak Bhyve, se ke nan nivo nwayo a se sèlman seri minimòm obligatwa ki nesesè nan mekanis Virtualization pyès ki nan konpitè fèt, epi tout kòd imitasyon pyès ki nan konpitè yo deplase soti nan nwayo a nan espas itilizatè. Apwòch sa a pèmèt ou diminye kantite kòd egzekite ak privilèj ki wo epi redwi risk pou yo konpwomèt tout sistèm nan si yo ta ta gen atak sou frajilite nan hypervisor la. Anplis de sa, tès debogaj ak fuzzing nan pwojè a se notables senplifye.

Sepandan, Libnvmm tèt li pa genyen fonksyon emulateur, men sèlman bay yon API ki pèmèt ou entegre sipò NVMM nan emulateur ki egziste deja, pou egzanp, QEMU. API a kouvri fonksyon tankou kreye ak lanse yon machin vityèl, asiyen memwa nan sistèm envite, ak asiyen VCPUs. Pou amelyore sekirite epi redwi vektè atak posib, libnvmm bay sèlman fonksyon yo mande klèman—pa default, moun k ap okipe konplèks yo pa rele otomatikman epi yo pa ka itilize yo ditou si yo ka evite yo. NVMM eseye kenbe bagay sa yo senp, san yo pa vin twò konplike, epi pèmèt ou kontwole anpil aspè nan travay ou ke posib.

Pwojè NetBSD ap devlope yon nouvo ipèvizè NVMM

Pati nan nivo nwayo a nan NVMM byen entegre ak nwayo NetBSD la, epi li pèmèt pou amelyore pèfòmans nan diminye kantite switch kontèks ant OS envite a ak anviwònman lame a. Sou kote espas itilizatè a, libnvmm eseye rasanble operasyon I/O komen epi evite fè apèl sistèm san nesesite. Sistèm alokasyon memwa a baze sou subsistèm pmap la, ki pèmèt ou degèpi paj memwa envite nan patisyon swap la nan ka ta gen mank memwa nan sistèm nan. NVMM se gratis nan kadna mondyal ak balans byen, sa ki pèmèt ou ansanm itilize diferan nwayo CPU pou kouri diferan machin vityèl envite.

Yo te prepare yon solisyon ki baze sou QEMU ki sèvi ak NVMM pou pèmèt mekanis Virtualization pyès ki nan konpitè. Travay ap fèt pou mete plak yo prepare nan estrikti prensipal QEMU. Konbinezon QEMU + NVMM deja pèmèt avèk siksè kouri sistèm envite ak FreeBSD, OpenBSD, Linux, Windows XP/7/8.1/10 ak lòt OS sou sistèm x86_64 ak AMD ak processeur Intel (NVMM tèt li pa mare nan yon achitekti espesifik, pou egzanp, si backend apwopriye a kreye , li pral kapab travay sou sistèm ARM64). Pami zòn yo nan plis aplikasyon nan NVMM, izolasyon sandbox nan aplikasyon endividyèl yo te note tou.

Pwojè NetBSD ap devlope yon nouvo ipèvizè NVMM

Sous: opennet.ru

Add nouvo kòmantè