Suggestion: Make use of rumpkernels
Created by: pothos
The rump kernel project defines a way in which drivers can be used in kernel space as well as user space (think microkernel) or linkable library. In NetBSD one can use rumpkernels for some filesystem drivers already, so that they run in userspace. The Rumprun unikernel allows compiling a program against the NetBSD libc altogether with rumpkernel drivers as library in order to run this program on bare metal or KVM. Using rumpkernels as drivers in redox would be interesting and expose functionality of existing C-drivers to it in a non-harmful way. Genode OS already did exactly this. List of components available here.