
Minix 3.2.1 Released - geeknik
http://www.minix3.org/releasenotes-321.html
======
cerales
Anyone care to give a very cursory run-down on why someone would look at Minix
in this day and age instead of one of the BSDs? Particularly since those
release notes mention bringing in the NetBSD build system and much of its
userspace.

Not to say that I think it's bad to have plenty of unixes floating around -
just curious.

~~~
jacques_chester
Minix is a microkernel architecture. Many of the services which in other OSes
live in kernel space are pushed out into standalone processes.

The main goal is to improve reliability. Bad drivers or bad hardware are the
leading cause of lockups these days. If you isolate the drivers, file system
etc from one another, you can prevent the whole system from dying. Minix3 goes
further than its predecessors by adding a "reincarnation server", which
periodically pings other servers and kills/restarts them if they've become
unresponsive.

Minix essentially does at a single-system level what cloud architectures try
to do at a multi-system level: assume that the parts are unreliable, isolate
faults and recover by restarting sub-units.

To me the more interesting possibility is that in a microkernel world you
could solve a number of classic OS/system software bunfights. Databases, for
example, tend to fight a bit with OSes about the best way to buffer data or
flush to disks. In a microkernel system you can arrange matters so that the
database provides its own memory and disk management. It's just another
process; nothing special.

Here's the report that was written about the design:
<http://www.minix3.org/docs/jorrit-herder/osr-jul06.pdf>

~~~
thirsteh
It's also for security. If you find a security vulnerability in e.g. the sound
driver, you're not going to get root access.

Andrew Tanenbaum explains it well:
<http://www.youtube.com/watch?v=bx3KuE7UjGA>

------
fusiongyro
There's no need to visit that graveyard to read the actual article, which is
here: <http://www.minix3.org/releasenotes-321.html>

------
pilgrim689
I'm only familiar with the QNX microkernel from working in safety-critical
systems. I'm really excited for the possibility of an open source microkernel
getting some mainstream attention, since the benefits (modularity,
reliability, maintainability, security, etc.) of a microkernel are just too
real to ignore now.

Can someone explain how Minix compares to Hurd? In terms of how far ahead both
projects are, the differences in their architecture and visions?

------
d4mi3n
This is my first time hearing about Minix, and the new architecture seems
interesting. Are there any other linux distributions that use something
similar to Minix's micro-kernel approach, or is this a bit of an oddity?

~~~
jacques_chester
Poe's Law strikes again. I can't tell if you're making a joke or not.

Assuming you're being serious: no. Linux distributions do not work this way
because Linux was itself deliberately designed to be unlike Minix.

~~~
sltkr
I wouldn't say that Linux was "deliberately designed to be unlike Minix" --
after all, Torvalds' original announcement [1] was in comp.os.minix and he
admitted that his OS "resembles [Minix] somewhat".

It's more accurate to say that Linux evolved to be very different from Minix
because of Torvald's focus on pragmatism.

1\.
[https://groups.google.com/forum/?fromgroups=#!msg/comp.os.mi...](https://groups.google.com/forum/?fromgroups=#!msg/comp.os.minix/dlNtH7RRrGA/SwRavCzVE7gJ)

~~~
jacques_chester
I think that's a better way to characterise it, but I was definitely referring
to the famous Torvalds/Tannenbaum debate.

------
devinus
I can't wait for Minix on the RPi!

------
frozenport
Unanswered Question: why Minix?

~~~
rajeevk
Minix is very good for learning internals of operating system. In my second
year of undergrad, I went through the code of minix and and it was a great
learning experience. I could learn a lot about the internals of operating
system by looking at real working code rather than just reading theories. The
Linux code is too complicated for beginner. I think, Linux can not replace
minix in educational world.

~~~
reidrac
Circa 1999 I studied Minix in a operating design course, but in the same way
we studied Amoeba or Mach; in fact we used a pre 1.0 Linux kernel for practice
(I don't remember the distro, it could be custom), and it was small enough to
understand the different parts, hack, compile and run.

"Operating Systems: Design and Implementation" (included Minix) and "Modern
Operating Systems" are great books and I think is because of them that Minix
is relevant in OS teaching (specially OSDI, although I enjoyed MOS too).

EDIT: typo

~~~
limmeau
In 1999, Linux was already in the 2.0s or 2.2s; did your course deliberately
use an old Linux kernel for simplicity?

~~~
reidrac
I think so. Besides the computers we had access in the laboratory were limited
in resources so a smaller code base I guess had its benefits in compile time.

