An Introduction to MINIX

 in
It's not Linux, but MINIX can introduce you to the basic concepts without all the baggage.
Conclusion

Assuming you have experience with UNIX-like operating systems, you shouldn't need more than a session or two to familiarize yourself with MINIX and its resources.

If your interest is not just casual, your next step might be to read the MINIX Developer's Guide. This concise guide goes all the way from the resources you might need to learn more about programming in MINIX to explaining the MINIX API and packaging format in detail. Then, you might want to see what MINIX projects are already organized on the project's Who Is Working On What page and joining the Google Group for MINIX. Conversely, if you are considering using MINIX for teaching, look at the Teaching with MINIX Web page for resources.

But is MINIX worth this effort? Is it, perhaps, a historical relic whose best days are past? How you answer that is very much a matter of perspective.

On the one hand, MINIX development and teaching are both relatively small worlds, so individuals might expect (all else being equal) to contribute to them more easily and meaningfully than to larger free and open-source projects. MINIX development in particular seems to be at a significant stage as the project tries to redefine its relevance. And, there is something to be said about learning and teaching about UNIX-like systems in a smaller, less-cluttered environment, especially one that is not desktop-oriented.

On the other hand, some might consider MINIX (to be frank) a dead end. Why, they might argue, should anyone put effort into such a small project when working with GNU/Linux or FreeBSD is more relevant today and promises to teach more marketable job skills?

Either way, MINIX is worth some attention. You may decide not to invest a lot of time in MINIX, but after examining it in any detail, you will probably return to your own free operating system of choice with a better understanding of how it is structured. For all the efforts to refocus MINIX, teaching is very much what it continues to do best.

Bruce Byfield is a computer journalist who covers free and open-source software. He has been a contributing editor at Maximum Linux and Linux.com, and he currently is doing a column and a blog for Linux Pro Magazine. His articles appear regularly on such sites as Datamation, LinuxJournal.com and Linux Planet. His article, “11 Tips for Moving to OpenOffice.org” was the cover story for the March 2004 issue of Linux Journal.

______________________

-- Bruce Byfield (nanday)

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Inconsistent naming conventions.

gmo's picture

Given that Minix comes with bash as well, shouldn't you call it GNU/MINIX?
Or, really, shouldn't you just omit the GNU/ part altogether as this is an article about kernels, and GNU don't have anything to do with the kernels (as long as we're not talking about Hurd...).

Anyway I'm surprised that minix3 has gotten so much fatter! I used to run minix on a 8088 with 640 kB memory...

Gnu/Minix?

Matt K's picture

No, it should not be called gnu/minix. Many of the gnu tools have been ported to minix, and the user can choose to install them, but it natively runs either its own tools (the default shell is ash), or BSD based tools, which are not licensed under GPL.

Re to An introduction to minix

srinivas v's picture

You forgot to add that the European union is funding the development of minix for a "reliable' operating system. So, just hold on. You might have a free as in freedom version of meego or the like.

excellent. five thumbs up!

Anonymous's picture

Excellent article! A lot of work went into this. Thank you Bruce Byfield! And I love the bonus reference to Ken Brown's failed attempt to discredit Linux and Linus.

Please keep in mind that

mick's picture

Please keep in mind that Minix has shifted it's focus in version 3. Minix3 is designed from the ground up to be a reliable system, not just an academic one. It's promise is to be a system that will never, ever crash( with a 5-10 percent performance overhead of course). To the best of my knowledge it has never failed in testing.

The modular layered design, and in particular the treatment of device drivers( where bugs are far more common) as untrusted user space code also offers enhanced security. Here's an example given by Andrew Tannenbaum. Imagine a situation where a a Minix system's audio driver were exploited.

The computer could "make weird noises," but would have no access to the disk, network or memory subsystems effectively limiting what an attacker could accomplish. Each driver is kept separate from the others and communicates using the kernel, which is small and well understood, to pass messages.Note interestingly that with this design the disk driver cannot actually control the disk.

The reincarnation server is another amazingly cool idea and I am surprised you didn't mention it. It is a system that transparently replaces crashed or misbehaving drivers with copies stored in ram. Tannenbaum has reported testing systems by inducing 800,000 driver crashes and never once did they have a full system crash.

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState