Post a Comment
This article is really worth printing in OSNews. I've been re-reading a lot of stuff from Minix lately (we took it up in college and oh boy, installing it was incredibly scary for me back then) because of the so called "issues" against Linux.
But then, Minix stays true to its roots, thanks to AT's resolve to make Minix stay as it is: an OS for all of us to study.
This article should be of great use for students.
Any article that includes the word "hence" a paragraph away from "props" is surely worth reading :-)
If you have a Solaris box lying around, you should check out Solaris minix. We've (UF) used it to allow students to hack on minix in a course with > 120 students, and it works pretty well. Under Solaris-minix, it's pretty easy to make changes to the kernel, recompile it, and test it, and you don't have to mess with bootloaders.
Or you can install it on an old PC... it will probably still work on a 286.
It's dead easy to make changes to some of the important kernel pieces, too. For instance, minix's built-in scheduler is really simple to grasp, and easy to make changes to. It's really a pretty good learning tool.
Agreed. I like tutorial type articles especially when they involve doing something cool. OSNews needs more of these.
> OSNews needs more of these.
We just publish what we are submitted by readers. We can't get such articles everyday if people don't write them and submit them to us.
Minix is not meant as a production OS. The whole point is that it can be taught in a one semester OS course. The value of Minix is mostly in the Tanenbaum book and the source, and the primary "use" of Minix is to study and modify the source to understand how an OS can be created. Linux has grown a bit too complex for most people for this.
Anonymous,
Not at all, the point was not intended to sell Minix as production material. What you say is correct, Minix is intended primarily for an educational purpose, I just hope to have broadened the audience a bit...
Anonymous,
Ah, I see where I might have lead you astray - in my comment concerning alternatives. Allow me to clarify, Minix is not 'currently' viable as a desktop replacement of either Linux or Windows for a desktop and certainly not running at a tenth of the speed of the native box as it would be in Bochs. However, to be fair, with enough interest and development, it could be - again, not in Bochs. This wasn't my intent, though - I meant alternative, in the broadest sense, think of a homemade steak (mushroom, if you prefer) from the grill, that you have spiced to your taste, according to some family recipe as an alternative to a McDonald Big Mac (Thai Salad, if you prefer)...
You do mention the study aspect, but most of your article is about installing and running it. Any Minix article should strongly emphasize that it is primarily meant as a study tool, and getting the book and source are more important than running the binaries. After reading your article, a typical user will try to run it for 10 minutes, decide that it doesn't "do" much, and delete and forget about it. If you're not interested in OS design, there is not much point in running pointless.
QEMU is a lot faster than Bochs if you like to play with this kind of thing.
Seconded. QEMU is much, much faster.
I find it odd that the author failed to get ReactOS or Syllable to work on Bochs though. I've booted ReactOS on Bochs plenty of times without any problems. Syllable on Bochs is hardly worth it, but if you boot from the floppy disk images instead of the Syllable CD it will work. You wouldn't want to use it, but it will work.
How about you stop being a tool?
This is a great article, and certainly better than anything you've "contributed" to the forum. You made your point in the first post, so just shut it.
Minix is the best and most widespread kernel/OS for teaching kernel/OS concepts, and will continue to be so for the foreseeable future. Why? Because Prof. Tanenbaum resisted the temptation to add more features and/or let other persons mess with the original code.
So Minix is still able to fulfill its initial mission.
Using Minix on Bochs extends the life and increases the usefulness of Minix as a learning tool. It's a great idea (actually endorsed by Prof. Tanenbaum) and the article explains clearly how to do it, using Bochs on Windows XP.
Very nice article, let's hope more are coming in the same vein.
MINT (aka Mint is not TOS) was the second preemptive kernel running on the 16/32 bit platform atari st...
altough it was not supposed to be a unix clone, its mains purpose was to compile GNU software on TOS machine, so with time it became POSIX complient and now it's a real unix clone (X11, console) PLUS the 100% GEM compatibiliy..;;
it's really great, really.. it's still maintened
grab some info here :
http://freemint.de/en/
some screenshots
http://atari.nvg.org/n.aes/screenshots.html
there'was once a mac version called mac mint...
it runs on any atari machine and much faster than linuxm68k
and of course it's open source...
if you want to try this on...
aranym.sf.net
why am i talking about this ?
because the author told he was inspired by Minix (which permitted to run atari console only programs on it) and wanted more (gem programs, speed, etc...)
Djamé
reps : did I mention the package managemement is rpm based ?
Ok, gotta say it - wow, on the face of it, qemu seems much faster. I booted the minix image I created in the howto in qemu and it worked very well. However, I'm at a bit of a loss as to how to do a floppy based install on an empty hard disk image if you can't swap floppies.
From the readme:
(snip)
It needs to convert floppy and CD-ROM to image file to use it. You cannot change them now, but you can use them as follows. (snip)
Maybe it's just the windows version?
Will
I don't think you'd have posted that if you've seen as many "does Minix run this" and "does Minix support that" posts as some of us have. (Posting as someone who HAS used Minix in an OS course at the VU).
Anonymous,
Thanks for the FUD - What do we have to fear, save fear itself?
Your comment can be applied to any OS on the market - XP included. The fact that the questions are even being asked is indicative of a high degree of interest. I didn't write the article from the point of view of an advocate, merely an interested hobbyist. That having been said, with enough interest and development, Minix could indeed be viable in production.
Eye roll please... I was a Linux newbie when the 0.9 kernel series came out and these were exactly the kinds of questions that were prevalent - does Linux do PCI (not yet), what about my Viper V550 (diamond is *vil)...
gnillort is droll...
Will
i wouldnt call that FUD. sure, with developer interest it could have been a production os. but the thing is, AT didnt want it to be a production OS, so features have a far smaller priority then simplicity in the code.
linux on the other hand was meant to be a sort of HURD substitute, something to run GNU on until HURD was done. thats what attracted the developer interest, thats why linux grew so massively, thats why it is comming into enterprise production environment status today.
MINIX is fantastic for its intended purpose -- to teach. saying that has nothing to do with FUD.
Matt,
Alright, alright maybe calling it FUD was overly sensitive. Your comments are accurate and yet, it should be noted that Minix is Open Source, nothing is stopping folks from extending on the original. See:
http://www.minix-vmd.org/
for an example.
Will
If you don't immediately need big applications (can't name any, but there probably are) you can also try the DosBox version. In that way, you don't need Bochs and difficult installation steps - just unzip and run in a DOS window.
Go to http://bochs.sourceforge.net/cgi-bin/topper.pl?name=Disk+Images&...
Click minix204.zip and you'll have ready-made Minix image and configuration file for Bochs.
Yeah I used the pre-made disk image [mentioned by Lauri] for Minix at the Bochs site. I tried several other images and was impressed with how fast the system booted up. Bochs is a great little tool for tinkering, up there with VMware and/or an extra hard drive. Some images didn't work right, and it took a little tweaking of the config file [due to the image being for an older version of Bochs].
Good article by the way. Setting up Bochs with the Minix image was easy, but I had never installed from scratch as outlined in the article.
I think I'll tinkering with Bochs a bit this weekend.
Alright, alright maybe calling it FUD was overly sensitive. Your comments are accurate and yet, it should be noted that Minix is Open Source, nothing is stopping folks from extending on the original.
I think the license partially killed Minix along with the widespread use of Linux. It was not under the BSD license until recently.
Anyone interested in Minix should check out Tanenbaum's books on OS. The theory book was pretty weighty, but well written. I found a copy in the local library. One of the books covers Minix, but I haven't yet found a copy. As an aside, Tanenbaum wrote a good networking book, but my library copy was a bit outdated.
Lauri,
Thanks for the link. I used the downloaded image before I went on and created one from scratch. The reasons for doing it from scratch were:
1. Just to do it - prove to myself it could be done
2. Pristine install - nothing there but what I put there
Will
xmp,
Thanks for the compliment. Doing it from scratch has benefits, especially if you are interested in what exactly constitutes the bare necessities.
Will
xmp,
Tanenbaum's book is excellent and well worth reading. Minix is well constructed and the book only makes this clearer. The link is in the article.
Will
This is the kind of tutorial that I like; it was very clear and helpful. The author of this tutorial has provided the tools, links & how-to needed to accomplish the tutorial. Osnews deals with operating systems; this is the kind of article that's much needed & appreciated in this site. :-;
For the life of me I fail to see how an incomplete project like Minix could ever be a better learning device in this day and age than BSD which is complete, is more mature and is useful in day to day operation, rather than just be an example of operating systems theory.
Many thanks for the compliments. I thought it might be interesting for readers.
Wow, your analysis is penetrating. Incomplete you say? Why, because it doesn't have support for every conceivable piece of hardware, such as 3D for my Viper V770 (3 years old, at least)? It couldn't be that because BSD doesn't even have support for AGP. Perhaps you are referring to one of the BSD decendants such as FreeBSD, NetBSD or OpenBSD? Oh, yes, these OS'es are quite a bit more mature as production operating systems than Minix and can therefore be considered more useful in day to day operation. However, the source code is convoluted and difficult for non-gurus to grasp as a whole - the sheer size of the code makes this true. Minix makes understanding quite attainable to even average OS enthusiasts. This makes it great for learning OS concepts. Whether it's better or not is a personal judgement. I think it's better for beginners simply because it is less complex. Advanced OS guys maybe don't need it, so perhaps a monolithic OS and millions of lines of code are better for those guys...
The educational aspect of Minux is not learning how to use an OS but how to write one. Minux is easier for this than BSD.
It's good but dated. OS design principles have moved on now considerably. I think the microkernel architectures with proper threading support are more relevant than Minix's monolithic design.
Additionally, most 'modern' OS implementors will spend time designing embedded RTOS which generally don't correspond to the "UNIX philosophy" at all.
I'd suggest people check out Mach and QNX architectures if they want something relevant.
You seem to have missed one extremely important point here, namely that minix is microkernel. Along with qnx and Mach-without-apple-modifications it's one of the few true microkernels you can lay your hands on today. And I don't actually think you get the source for the qnx kernel.
Please, Minix is neither dead nor monolithic.
Educate yourself:
Minix - monolithic?
http://www.cs.vu.nl/~ast/minix.html#whatisminix
Minix - dated?
http://slashdot.org/article.pl?sid=04/06/08/1657256&mode=thread...
"Wow, your analysis is penetrating. Incomplete you say?"
Look, I can see you're a Minix fanatic. That's really quaint and all, but the point is, how many universities are using Minix as a teaching aid as opposed to using Linux? Why should they?
When I say incomplete, I'm basically referring to it only being useful as teaching aid. Afterall, if it's not even used to run servers, what practical value ASIDE from operating systems theory could it possibly have?
Tannebaum can't pat himself on the back and belittle Linus all he likes, but his OS is worth squat.
"I'd suggest people check out Mach and QNX architectures if they want something relevant."
An QNX's marketshare is what? Let's face it, isn't Apple about the only thing keeping the Mach kernel alive (though even they modified it)? You seem the *Nixes aren't the future. I guess some of you just don't consider marketshare at all, but can you think of a better way to measure the relevance of an OS?
"Minix - dated?
http://slashdot.org/article.pl?sid=04/06/08/1657256&mode=thread..... "
Does is not occur that Tanenbaum is exceptional arrogant even among college professors? I mean if he taught at M.I.T. or CalTech fine, maybe he'd be entitled to that but seriously...
Dude, get a grip. You don't know me from Adam. I'm definitely not what you'd call a Minix fanatic. I use Windows as my workstation. You say Tanenbaum's arrogant - what have you contributed besides a troll worthy of your namesake - Artemisia vulgaris?
A point by point refutation:
Universities (by no means exhaustive): Purdue, Syracuse, Drake.
Servers: http://minix1.hampshire.edu/ is one such
Squat: I would opine, if only I knew what it was worth
Relevance = Market Share: Surely no one is this ignorant? Linux didn't start with any marketshare, Mac lost it and has since regained it. Windows didn't have it to start with...




