Minix 3.2.1 Released
geeknik
12 years ago
66
24
http://www.minix3.org/releasenotes-321.html
fusiongyro12 years ago
There's no need to visit that graveyard to read the actual article, which is here: http://www.minix3.org/releasenotes-321.html
devinus12 years ago
I can't wait for Minix on the RPi!
d4mi3n12 years ago
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_chesterd4mi3n12 years ago
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.

mercurialjacques_chester12 years ago
I suppose it depends on what you mean by"Linux". If you mean the userland, you can find Debian with a Hurd kernel.
jacques_chestermercurial12 years ago
By "Linux distribution" I have reasonably assumed that he was talking about a Linux distribution.
sltkrjacques_chester12 years ago
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.minix/dlNtH7RRrGA/SwRavCzVE7gJ

jacques_chestersltkr12 years ago
I think that's a better way to characterise it, but I was definitely referring to the famous Torvalds/Tannenbaum debate.
kreliand4mi3n12 years ago
Minix is not a linux distribution.
fosapkrelian12 years ago
It is a different kernel with a netbsd userland. I somehow expect a Debian/minix to come out soon.
qzncd4mi3n12 years ago
If you do not know about Minix and Microkernels, you probably want to dig into the famous debate between Tanenbaum and Torvalds.

http://oreilly.com/catalog/opensources/book/appa.html

http://en.wikipedia.org/wiki/Tanenbaum%E2%80%93Torvalds_debate

e12ed4mi3n12 years ago
A "Linux distribution" - by definition - use the Linux kernel - as there is no "Linux" system/os. So RedHat, Debian/GNU Linux, Ubuntu and Android are all "Linux distributions" (although, GNU/Linux is usually a better term [edit: Android, afaik does not use a lot, if any GNU code]). FreeBSD, Nexenta (open source Solaris with a GNU userland), Debian/kfreeBSD and Debian/HURD are not Linux distributions, but they are operating system distributions. The latter one would be similar in the sense that HURD is a microkernel.
frozenport12 years ago
Unanswered Question: why Minix?
rajeevkfrozenport12 years ago
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.
reidracrajeevk12 years ago
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

limmeaureidrac12 years ago
In 1999, Linux was already in the 2.0s or 2.2s; did your course deliberately use an old Linux kernel for simplicity?
reidraclimmeau12 years ago
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.
thirstehfrozenport12 years ago
cerales12 years ago
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.

fusiongyrocerales12 years ago
Minix is a true microkernel architecture, but also a complete and practical OS. The analogy to NetBSD is a good one, since they're both largely didactic devices, but they demonstrate radically different internal operating system architectures.
jacques_chestercerales12 years ago
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

thirstehjacques_chester12 years ago
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

rm445cerales12 years ago
Mainly research and education. MINIX is meant to be (though I haven't read the code since the first edition printed in Tanenbaum's book) a clean, simple project for students and researchers to begin hacking on easily . In this day and age, research OSes don't become mainstream ones, but MINIX could be a good target for research which would make its way to the more widespread OSes if successful.

The above is stating the obvious, so I presume you are asking about commercial/embedded use. The answer is probably similar - if you want a nice clean base to start from and want a general-purpose UNIX rather than a realtime system, and you don't need much from the userland beyond classic UNIX tools. Perhaps your work involves hacking at the system level, or you're keen on having a microkernel architecture. It's a bit niche but could be a very suitable base for an embedded project.

pilgrim68912 years ago
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?