"I have a mind like a steel... uh... thingy." Patrick Logan's weblog.

Search This Blog

Saturday, July 01, 2006

Minix 3

Chris Double has been working with Minix 3 and a blog with Minix tips. A new release of Minix, it is more of a true microkernel design. Some interesting papers on the web site describe this evolution of Minix.

I was able to install it in short order. It runs all kinds of Unix/Linux/Posix software, including the X Window System.

Underneath the system calls is a small kernel, drivers and servers that run in user space, side-by-side with user application processes, each in their own protected address space. The system calls are implemented using message passing among the processes and the kernel. The driver processes can come and go due to bugs or intentionally, and there is a "reincarnation server" to help with this.

The Principle of Least Authority is followed, to prevent processes from sending messages they should not. This separation also enables experimenting with drivers and servers written in various programming languages.

Of course this is the same design approach that makes systems built with Erlang so reliable. Although Erlang makes the style explicit, while Minix 3 wraps the Unix API around the message-passing implementation. They are complementary systems and each have another quality: Fun.

No comments:

Blog Archive

About Me

Portland, Oregon, United States
I'm usually writing from my favorite location on the planet, the pacific northwest of the u.s. I write for myself only and unless otherwise specified my posts here should not be taken as representing an official position of my employer. Contact me at my gee mail account, username patrickdlogan.