This is a previous attempt at what became Plan 9 from User Space (aka plan9port) (see http://swtch.com/plan9port). It was done for Windows, because I used Windows as my main non-Plan 9 operating system at the time. It ran a Plan 9 kernel in user space (source in src/9), and for all system calls the programs interacted with the kernel via RPCs (see src/libc/Windows/9syscall/syscall.c). This allowed a very faithful rendition of Plan 9's world, but the cost was that Plan 9 programs were isolated quite a bit from the rest of the system, and there was a noticeable mental context switch when moving between Plan 9 programs and regular programs. Also the dependence on the kernel program meant that if the kernel crashed (and it did), then all running programs had to be restarted. This got tiresome. A year later I started over, this time using Linux, and ended up with plan9port. This Windows code has mostly historical value, but there are interesting bits that should be incorporated elsewhere. The directories src/libwindows and src/libc/Windows are a good base for adding Windows support to plan9port. The src/9/port/devdraw.c has a function resizewindow that I believe could be adapted in the Plan 9 kernels to resize the screen. This entire tree can be downloaded from http://swtch.com/plan9port/9pm-windows-alpha.zip. Enjoy. Russ Cox <rsc@swtch.com>