Linked by Thom Holwerda on Wed 9th Nov 2011 21:26 UTC, submitted by edwin
General Unix Way back in 2002, MIT decided it needed to start teaching a course in operating system engineering. As part of this course, students would write an exokernel on x86, using Sixth Edition Unix (V6) and John Lions' commentary as course material. This, however, posed problems.
Permalink for comment 496948
To read all comments associated with this story, please click here.
RE: Xv6 versus Minix
by christian on Fri 11th Nov 2011 10:24 UTC in reply to "Xv6 versus Minix"
Member since:

I know that Minix is a more complex and feature-rich OS (not in the least because it's capable of production use), but other than this, can someone tell me what differences it has architecturally compared to Xv6?

I think because of the rich commentary available with V6 UNIX (Ie. the Lions book), and V6 is very simply.

In fact, I'd go so far to say that the V6 kernel would probably make for a reasonable base of a micro-kernel with a bit of work.

But as it is, V6 is still a monolithic kernel, with all the OS services linked into kernel space, whereas Minix provides only critical services that cannot operate in user space, leaving the rest to user space servers.

I'm torn on the micro versus monolithic kernel debate. Some services are not really restartable without hacks that obviate the benefits of a micro-kernel in the first place (how would you restart the filesystem server if you can't read the filesystem server binary from the filesystem? You'd have to link it with the kernel blob, meaning it couldn't be changed at run time).

Also, I'm wondering why they didn't just use an older, smaller version of Minix since Tanenbaum *did* write it originally as a teaching OS.

The original Minix version was 16-bit and probably not well integrated with development tools like GCC and GDB.

It was a pleasure just typing "make qemu-gdb" and attaching running a debugger in another window, and stepping through the kernel as it did it's work. I guess it'd take a lot of work to get Minix into that state.

Reply Parent Score: 2