• Welcome to Overclockers Forums! Join us to reply in threads, receive reduced ads, and to customize your site experience!

Alternative OS of the Month: April 2007

Overclockers is supported by our readers. When you click a link to make a purchase, we may earn a commission. Learn More.

splat

ASCII Moderator
Joined
Apr 6, 2002
::::: Please post questions, reviews, comparisons to other OS's, etc in this thread :::::

April's AOSOTM is:

Minix

MINIX 3 is a new open-source operating system designed to be highly reliable, flexible, and secure. It is loosely based somewhat on previous versions of MINIX, but is fundamentally different in many key ways. MINIX 1 and 2 were intended as teaching tools; MINIX 3 adds the new goal of being usable as a serious system on resource-limited and embedded computers and for applications requiring high reliability

Main Page: http://www.minix3.org/
Wikipedia entry: http://en.wikipedia.org/wiki/Minix
Downloads: http://www.minix3.org/download/
Minix3 on VMWare: http://www.minix3.org/vmware.html
Qemu Image: http://www.oszoo.org/wiki/index.php/Minix3_1_1_x86.tar [thanks Evilsizer]

Past AOSOTM:
March 2007: ReactOS
February 2007: Debian Etch
January 2007: FreeBSD 6.1-Release
December 2006: Gentoo 2006.1
 
Last edited:
Minix is actually very interesting from a Computer Science point of view. Unlike most consumer Operating systems Minix has a Microkernel architecture in that the Kernel itself is very small and parts that are normally run inside the kernel are now run outside the kernel (such as drivers) so it is much more reliable as the system can easily recover from faulty driver code.

The reduced complexity of the kernel allows the kernel to be rock solid and relatively bug free. While Windows and Linux kernels are pushing millions of lines of code (with Vista being gargantuan), the Minux kernel is only 4000 lines.

I found this great paper off the minix website:
http://www.usenix.com/publications/login/2006-04/openpdfs/herder.pdf
 
What I read of the paper looked good. A lot of that was over my head since I never took any CS classes in college, but it was interesting to get a little more insight in to the different design philosophies for the OS that are out there.

hopefully tonight i'll get this going in Qemu.
 
Wow, looks very cool.
I have heard pro and con arguments concerning microkernels, but this seems like an appropriate microkernel application.
Sometimes computer and OS technology is overwhelming with the rate of expansion. So many projects heading in so many directions. It's no wonder most of the IT geniuses I have met claim to have A.D.D. The entire field is abuzz with growth in fits and starts. Fascinating.
 
funnyperson1 said:
Minix is actually very interesting from a Computer Science point of view. Unlike most consumer Operating systems Minix has a Microkernel architecture in that the Kernel itself is very small and parts that are normally run inside the kernel are now run outside the kernel (such as drivers) so it is much more reliable as the system can easily recover from faulty driver code.

The reduced complexity of the kernel allows the kernel to be rock solid and relatively bug free. While Windows and Linux kernels are pushing millions of lines of code (with Vista being gargantuan), the Minux kernel is only 4000 lines.

I found this great paper off the minix website:
http://www.usenix.com/publications/login/2006-04/openpdfs/herder.pdf
Microkernels take the "If it can be done in userspace, so shall it be done in userspace" approach even more seriously than the Linux people. :) (Maybe a little *too* seriously ;))

I think most OS concepts are old concepts (except perhaps Singularity and that remains to be seen since Microsoft won't let anyone play with it) being re-re-rehashed.
 
Misfit138 said:
Wow, looks very cool.
I have heard pro and con arguments concerning microkernels, but this seems like an appropriate microkernel application.
Sometimes computer and OS technology is overwhelming with the rate of expansion. So many projects heading in so many directions. It's no wonder most of the IT geniuses I have met claim to have A.D.D. The entire field is abuzz with growth in fits and starts. Fascinating.

maybe this is the answer to all of our wtf?! software questions. if you screen for A.D.D. and fire the lot of them maybe the software industry will start producing well thought out products

but I guess that would be like one of the signs of the apocalypse :bang head
 
mydosaysplease said:
maybe this is the answer to all of our wtf?! software questions. if you screen for A.D.D. and fire the lot of them maybe the software industry will start producing well thought out products

but I guess that would be like one of the signs of the apocalypse :bang head


LOL :p

I definitely believe that there are personality profiles applicable to cultures, races, creeds and professions. For instance, I can usually spot an engineer within a few minutes of starting a conversation with one. ;)
 
When the kernel modules are loaded they run as part of the kernel, with all of the privileges of kernel code. This means that that buggy kernel modules can crash the kernel or be exploited to get unfettered access to the machine.
 
I don't see anything definitive, but I imagine it would have to be. I don't see how one could do any decent scheduling without preemption. Especially since the drivers are out in userspace with the other programs, I imagine the driver would have a higher priority so they could preempt user apps and do what is needed to maintain smooth machine operation.
 
funnyperson1 said:
I don't see anything definitive, but I imagine it would have to be. I don't see how one could do any decent scheduling without preemption. Especially since the drivers are out in userspace with the other programs, I imagine the driver would have a higher priority so they could preempt user apps and do what is needed to maintain smooth machine operation.
For userspace programs it is most certainly preemptive. By kernel preemption, I meant, "Can a process running in kernel mode get replaced by another process in kernel mode?"
 
Captain Newbie said:
For userspace programs it is most certainly preemptive. By kernel preemption, I meant, "Can a process running in kernel mode get replaced by another process in kernel mode?"

not being a CS major and not really knowing a ton about microkernel vs. other kernels, I can only go by what I've read so far. And with that, it seems to me that a microkernel aims to have only one thing running in kernel mode, and everything else in userspace. I don't really see how there would be more than one process in kernel mode (but that might just be my ignorance in how kernels work).
 
splat said:
not being a CS major and not really knowing a ton about microkernel vs. other kernels, I can only go by what I've read so far. And with that, it seems to me that a microkernel aims to have only one thing running in kernel mode, and everything else in userspace. I don't really see how there would be more than one process in kernel mode (but that might just be my ignorance in how kernels work).
A microkernel provides a set of services (a more limited set typically than a monolithic kernel). All kernels provide a set of services; a microkernel just provides fewer. The kernel executes system calls on behalf of userland programs--be they the userland device drivers employed by a microkernel, your X windows system, your shell, etc.

A process that has the kernel running a system call on its behalf, before Linux 2.6, would only voluntarily release the CPU and reschedule itself (that is, it calls schedule() on its own accord). Starting with 2.6, with CONFIG_PREEMPT, when the timer interrupt fires, a process that has the kernel running a system call may be forcibly replaced by another runnable process.

Note that a process executing in userland, with user privileges can always be preempted.
 
Ah, ok, that clears up a lot. Thanks for the info.
 
Concerning microkernels, I have heard that there are unwelcome performance limits in comparison to monolithic kernels. When XSOS 3.0 was a hot topic around here, my research led me to a few rants by programmers who maintained than the OS would never get off the ground, let alone match Win32 in gaming performance for a myriad of reasons, not the least of which was the incorporation of a microkernel. I realize than Minix is not aiming to be a high performance gaming OS, but is this a valid argument? Why, or why not?
 
well the only thing i would say is if you have a game that can run in both arch and minix. play and see if you can tell a difference in them.
 
Back