I like the idea of writing device drivers and operating system components in other languages, as mentioned in a previous post about Haskell and Minix.
I installed Minix 3 and ran it under qemu to try it out. It's very functional but doesn't have much in the way of software or 'nice to have' features yet. But the source is all there and its very easy to build and follow.
I went looking for the book describing the internals of Minix, Operating Systems, Design and Implementation, and it's about $105 US online. Ouch. I tried a few Wellington bookstores and Capital Books had a copy for $110 NZ. They're probably the only bookstore in Wellington that was even likely to have a copy as they are specialists in technical books.
Now the task is to build/port some of the language implementations under Minix and try a simple driver. As I know very little about Minix I'm documenting the user aspects (setting it up, porting software, etc) in a weblog I setup for that purpose.
The interesting thing about that weblog is I'm hosting it on a Minix 3 system, running 'httpd' which comes with Minix. It's also running under 'qemu' on the same user mode linux machine as this weblog. There are some issues with doing that but it'll be interesting to see how it works - and it gives me a network facing Minix machine to experiment with. I suspect, due to the multiple levels of indirection, it's unlikely to handle load too well but we'll see.