Check out OSkit [1]. It was designed for people experimenting in OS's who might not want to reimplement all the low-level crap like memory management. It's been used in high-level language OS's from LISP to ML.
You can use the NetBSD drivers for other operating systems pretty easily - see http://rumpkernel.org/ - you can get filesystems, IP stack, network card drivers, etc. Several new OSs are using them.
[1] http://www.cs.utah.edu/flux/oskit/