El núcleo rump de NetBSD es la primera implementación del concepto "anykernel" donde los controladores pueden compilarse o ejecutarse en el núcleo monolítico o en el espacio de usuario sobre un núcleo liviano. [1] [2] [3] [4] Los controladores NetBSD se pueden usar sobre el núcleo rump en una amplia gama de sistemas operativos POSIX , como Hurd , [5] Linux , NetBSD , DragonFly BSD , núcleos Solaris e incluso Cygwin , junto con las utilidades del sistema de archivos [6] creadas con las bibliotecas rump. Los núcleos rump también pueden ejecutarse sin POSIX directamente sobre el hipervisor Xen , un microkernel L4 usando Genode OS Framework [7] o incluso en hardware sin sistema operativo .
Un anykernel es diferente en concepto de microkernels , exokernels , kernels particionados o kernels híbridos en que intenta preservar las ventajas de un kernel monolítico , mientras que todavía permite el desarrollo más rápido de controladores y seguridad adicional en el espacio de usuario. [8] El concepto de "anykernel" se refiere a un enfoque agnóstico de la arquitectura para los controladores donde los controladores pueden compilarse en el kernel monolítico o ejecutarse como un proceso de espacio de usuario, estilo microkernel, sin cambios de código. [9] Con los controladores, se considera un concepto más amplio donde no solo se incluyen los controladores de dispositivos sino también los sistemas de archivos y la pila de red .
Las utilidades de acceso al sistema de archivos (fs-utils) son un subproyecto creado con las bibliotecas rump. Su objetivo es disponer de un conjunto de utilidades para acceder y modificar una imagen del sistema de archivos sin tener que montarla. fs-utils no requiere una cuenta de superusuario para acceder a la imagen o al dispositivo. La ventaja de fs-utils sobre proyectos similares como mtools es que admite el uso de comandos familiares de sistemas de archivos Unix ( , , , , etc.) para una gran cantidad de sistemas de archivos que son compatibles con NetBSD. [10]ls
cp
mv
cd