Desenvolupadors de projectes NetBSD
NVMM inclou un controlador que s'executa al nivell del nucli del sistema i coordina l'accés als mecanismes de virtualització de maquinari i una pila Libnvmm que s'executa a l'espai d'usuari. La interacció entre els components del nucli i l'espai d'usuari es realitza mitjançant IOCTL. Una característica de NVMM que el distingeix dels hipervisors com KVM és
Tanmateix, el propi Libnvmm no conté funcions d'emulador, sinó que només proporciona una API que us permet integrar el suport NVMM als emuladors existents, per exemple, QEMU. L'API cobreix funcions com ara crear i llançar una màquina virtual, assignar memòria al sistema convidat i assignar VCPU. Per millorar la seguretat i reduir els possibles vectors d'atac, libnvmm només proporciona funcions que es demanen explícitament; per defecte, els controladors complexos no es criden automàticament i poden no utilitzar-se en absolut si es poden evitar. NVMM intenta que les coses siguin senzilles, sense complicar-se massa, i permetent controlar tants aspectes del vostre treball com sigui possible.
La part del nivell del nucli de NVMM està força integrada amb el nucli NetBSD i permet millorar el rendiment reduint el nombre de canvis de context entre el sistema operatiu convidat i l'entorn amfitrió. Pel que fa a l'espai d'usuari, libnvmm intenta agregar les operacions d'E/S comunes i evitar fer trucades al sistema innecessàriament. El sistema d'assignació de memòria es basa en el subsistema pmap, que us permet desallotjar pàgines de memòria convidada a la partició d'intercanvi en cas d'escassetat de memòria al sistema. NVMM està lliure de bloquejos i escala globals, la qual cosa us permet utilitzar simultàniament diferents nuclis de CPU per executar diferents màquines virtuals convidades.
S'ha preparat una solució basada en QEMU que utilitza NVMM per habilitar mecanismes de virtualització de maquinari. S'està treballant per incloure els pedaços preparats a l'estructura principal de QEMU. La combinació QEMU+NVMM ja està
Font: opennet.ru