Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I believe that's why it exists, actually. The author was a professor, though I think he is now retired. It was an OS written for his class to learn from and the source was in a book about operating systems.

At least that's what my memory tells me. I'm not a computer scientist, I was just tangentially involved and picked this up by osmosis. I haven't read the book and my programming skills are such that I can do it, but you don't want to see the results.



According to Wikipedia[0]

> Early versions of MINIX were created by Andrew S. Tanenbaum for educational purposes. Starting with MINIX 3, the primary aim of development shifted from education to the creation of a highly reliable and self-healing microkernel OS.

So you're right about how it started, but it's no longer the main focus.

[0]: https://en.wikipedia.org/wiki/MINIX


Thanks! It does do a good job at demonstrating a microkernel is viable. As said above, I'm not a CS guy. So, to me at least, it's fascinating to read and learn about the philosophical differences between a micro and a monolithic kernel.

There's the speed penalty but, with modern hardware, that isn't all that significant. It shouldn't suffer a complete crash. I really think AST was ahead of his time and that it will be a viable option in the future.

I do want to try it on bare metal. I suppose I should actually do that. Maybe I should document my experiences and publish them online somewhere?


That's pretty interesting; I wonder how it compares to other, similar systems.


If you're interested, you can grab a copy of some virtualization software and install it. VirtualBox is free and open source, and loads of help is available if you have trouble getting it installed and a VM up and running.

Personally, I prefer a closed source solution. I know, I know... But, I really like VMware so I pay for it. VirtualBox is absolutely usable and very easy to operate.

I'm trying to encourage you to toy with it on your own because I'm not really sure what other systems are really similar.

I don't have any particularly good reason for my many virtual machine images. I really don't. I'm not a developer. I'm not a skilled programmer. I don't really create anything. I just have VM images for dozens of operating systems because I like to tinker and play with them.

So, it's pretty easy to get VirtualBox installed, started, and then starting to install various operating systems to play with. I'm not really sure what OS would be good to compare MINIX with, as I can't think of one that is really similar. Microkernels haven't really caught on in consumer operating systems. They are philosophically different than the monolithic kernels that you're probably used to.

Basically, the kernel is a scheduler. In a microkernel, that's pretty much all it does. Things like display drivers, keyboard drivers, sound, etc. are all separate from the kernel. So, if the display driver crashes, you don't get an unstable system - you just (automatically or otherwise) restart the display drivers.

Linux is a monolithic kernel. Drivers are bundled right into the kernel, for everything from display drivers to wifi drivers. So, a failure in one of those can cause a kernel panic and halt your system.

However, monolithic kernels are faster because everything is rolled into the kernel and already loaded. The kernel can more tightly control the scheduling.

Microkernels are potentially more secure because those drivers run as separate processes, distinct from the kernel. Meaning a flaw in them should not be able to impact the kernel or any other part of the system. As stated, this uses more resources which is seen as a penalty by some. Modern hardware may make this an acceptable trade off for many users.

I will add that I'm not a CS guy and this description is how I understand it. It's also an abridged version, there is quite a bit more to it.

I'm not sure if this helps answer your question. If not, I'll be happy to keep trying. I can also link you to some interesting articles, including the infamous dialogue between The author of MINIX and the author of the Linux kernel. It's up to you, but I'll be happy to help as much as I am able. I'm just an enthusiast, not an authority.


> I'm not really sure what other systems are really similar.

Various embedded operating systems are probably the closest, and the same niche the more 'production' MINIX is aiming at.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: