Minix 3.2.1 Released
kthreadd writes "Minix, originally designed as an example for teaching operating system theory which was both inspiration and cause for the creation of Linux has just been released as version 3.2.1. Major new features include full support for shared libraries and improved support for USB devices such as keyboards, mice and mass storage devices. The system has received many performance improvements and several userland tools have been imported from NetBSD."
Verry, nice, may look forward into it for my old laptop from 2007 I won in a raffle
People once told me 68K ram was all we needed,
Afaik, NetBSD and Minix are the two most prominent operating systems that advertise clean source code and architecture, suitable for examination by people learning OS principles, as one of their explicit design goals. NetBSD seems more popular as an actual system to use, and is clean architecture has led it to be famously ported everywhere. Does someone have experience with Minix to compare?
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
Looking under "Drivers, FS" it would seem that the Minix developers are still focusing on keeping it compatible with qemu and virtualbox, ie, they don't expect anybody to run it on real hardware and use it for real jobs.
http://michaelsmith.id.au
Wikipedia will give you an answer quicker (30 seconds) than Slashdot responses (5 minutes):
"MINIX is a Unix-like computer operating system based on a microkernel architecture created by Andrew S. Tanenbaum for educational purposes"
MINIX has always been first and foremost a teaching OS. What is exciting is that in recent years, the capability seems to have broken through a wall, and the practical usages has started growing quickly. That means it can now be used for both purposes, which makes it even better at its primary purpose.
MINIX is not trying to be Linux. MINIX is trying to be MINIX, and the exciting thing is that it is now succeeding! So it is one of a growing multitude of options in the free and open source community.
I'm currently in a university course where Minix 3.2.1 is being used to teach OS principles. It's certainly small, and therefore semi-easy to wrap your head around. But I would not agree that its source code is "clean". They have a lot of really old code and suffer from coding guidelines that have changed greatly over time. I've never seen someone mix tabs and spaces so much in a piece of code. And can anyone say "no namespacing"? That said, I don't have much familiarity of the internals of other kernels, but I'm not too impressed by Minix.
I spoke with Andy Tannenbaum when we were at the OSDI conference last October. He said that Minix has a role in the embedded market, especially in places where companies want to avoid the GPL.
It's a large and growing market. Much as I would prefer Linux, I agree that there's plenty of room for Minix in that market.
Actually, in the release announcement, they clearly mentioned that
There are exciting new developments coming in the near future that aren’t part of this release. For example, the MINIX team has been working hard on MINIX/ARM support, of which significant parts have made it to mainline, yet official ARM support is slated for the near future and is not officially part of this release.
This is a great move on their part, since Minix, w/ its microkernel, is just perfect for embedded systems and aside from routers, those tend to run on ARM based platforms. I recall reading somewhere that they were porting it to the Raspberry Pi, and hopefully, to other ARM platforms as well. In fact, something like Minix is perfect for Raspberry Pi, and once their ARM port is complete, it would be a good kernel on which to base whatever else is needed. In fact, the Raspberry Pi guys would do well to join hands w/ Tannenbaum and offer Minix as the OS of choice w/ Raspberry Pi.
Regarding the stuff about the drivers, it was just the Virtio and VBFS that seemed to be about VMs - others, like Ext2 support were about real filesystems. (I'm guessing that for an OS targeted at embedded applications, things like Ext4, Btrfs, ZFS, Hammer, et al wouldn't be appropriate file systems to use)