You are not logged in.
Pages: 1
I was looking into other OS and I found out that Minix3(3.1.5) came out not too long ago.
For what I understand, Minix is small as hell. The kernel has less than 6000 lines of code.
It's also very modular and it's use to teach students how OS's work.
It's unlikely to be use as an everyday OS, but has anyone play with it?
Govern a great nation as you would cook a small fish. -Lao Tzu
Offline
How is the hardware support?
Offline
As far as I've read, Minix has horrible hardware support and is only on the
start of a long way to a usable kernel/operating system.
The basic idea, however, is ingenious, to say the least:
The author (Prof Tanenbaum) claims that an operating system kernel must be small
enough to be explained exhaustively within one semester of studies. Everything
but the most basic code (e.g. interrupt handling) must be implemented in
modules.
This makes the kernel code short and (over time) it is possible to proof-read it
so often, by so many people, that you can actually gain an uncrashable kernel.
You can imagine that this is something everyone will want.
The main drawback of the approach is that there will be far more translations
needed between kernel mode and user mode, which will take additional processing
time (e.g. as opposed to a Linux machine). On modern machines, however, the
additional time might get unnoticed, maybe even on scientifically used
computers.
Today, Minix mainly suffers from not supporting much hardware, because they
can't just "borrow" the drivers from Linux, whose drivers are not only
integrated into a different kernel, but also run in kernel mode.
Personally, my dream would be something like ArchIx, an Arch-based Minix distro.
But I think it'll be a long time until Minix supports enough drivers to actually
use it as a day-to-day os.
Offline
It is a micro kernel like gnu hurd and therefore suffers similar drawbacks.
Offline
It is a micro kernel like gnu hurd and therefore suffers similar drawbacks.
That's not saying much. Linux is also a microkernel from some points of view.
aur S & M :: forum rules :: Community Ethos
Resources for Women, POC, LGBT*, and allies
Offline
sand_man wrote:It is a micro kernel like gnu hurd and therefore suffers similar drawbacks.
That's not saying much. Linux is also a microkernel from some points of view.
Which points of view? Linux is basically a monolithic kernel in contrast to minix and hurd. Look here for more background on microkernel architecture basics.
To know or not to know ...
... the questions remain forever.
Offline
fsckd wrote:sand_man wrote:It is a micro kernel like gnu hurd and therefore suffers similar drawbacks.
That's not saying much. Linux is also a microkernel from some points of view.
Which points of view? Linux is basically a monolithic kernel in contrast to minix and hurd. Look here for more background on microkernel architecture basics.
1. Minix does not suffer drawbacks because it is a microkernel like HURD. It suffers drawbacks because it is a microkernel. It has different problems from HURD and different advantages from HURD.
2. Have you heard of FUSE? Have you heard of CORBA? Linux is part monolithic and part microkernel depending on what services you consider. Here's a bit of history, it was once proposed to have an X server built into Linux.
aur S & M :: forum rules :: Community Ethos
Resources for Women, POC, LGBT*, and allies
Offline
sand_man wrote:It is a micro kernel like gnu hurd and therefore suffers similar drawbacks.
That's not saying much. Linux is also a microkernel from some points of view.
No they are really nothing alike. If they were then there would be no fun in trying to get Hurd to work
Offline
fsckd wrote:sand_man wrote:It is a micro kernel like gnu hurd and therefore suffers similar drawbacks.
That's not saying much. Linux is also a microkernel from some points of view.
No they are really nothing alike. If they were then there would be no fun in trying to get Hurd to work
Heh.:cool:
aur S & M :: forum rules :: Community Ethos
Resources for Women, POC, LGBT*, and allies
Offline
Linux is part monolithic and part microkernel depending on what services you consider. Here's a bit of history, it was once proposed to have an X server built into Linux.
There are different levels of services since OS's exist. But Linux like Minix or Hurd or whatelse provide kernel services. The most basic of all to make the machine run at all.
X on the other hand is just another layer which imo does not belong to basic kernel services. It would be another story if a graphical, server/slave, messages based system had been designed from ground up to handle basic tasks as well. But X isn't.
To know or not to know ...
... the questions remain forever.
Offline
I kind of tried to port pacman to minix some time ago, but I didn't get far (and I don't really care anymore). However, if you wish to read about that, here's the thread
- blog (about arch and other stuff): http://thoughtyblog.wordpress.com/
- x86_64 user
Offline
I tried to install minix once, but failed. I never looked back.
P.S. Linux may use modules to handle the vast amount of code that it has, but it's monolithic because all the modules are included in the release. A microkernel wouldn't release the drivers/modules with the kernel.
urxvtc / wmii / zsh / configs / onebluecat.net
Arch will not hold your hand
Offline
I've tried minix in a virtual machine before, it wasnt very interesting though. Yet another UNIX like OS as far as I was concerned.
How's my programming? Call 1-800-DEV-NULL
Offline
I tried to install minix once, but failed. I never looked back.
P.S. Linux may use modules to handle the vast amount of code that it has, but it's monolithic because all the modules are included in the release. A microkernel wouldn't release the drivers/modules with the kernel.
I rather think it's because the modules are compiled into the kernel at build time, rather than being started as services at run time.
Offline
Linux is modular, but still a monolithic kernel as it loads code into its own process for drivers, etc. If a driver crashes, it might take down the whole process. Microkernels on the other hand use separate processes which require some optimized IPC for low-level stuff (hard). When done right, drivers can't really crash the kernel, as the process is simply killed and restarted.
Offline
Linux is modular, but still a monolithic kernel as it loads code into its own process for drivers, etc. If a driver crashes, it might take down the whole process. Microkernels on the other hand use separate processes which require some optimized IPC for low-level stuff (hard). When done right, drivers can't really crash the kernel, as the process is simply killed and restarted.
So Linux gets some of the flexibility of a microkernel but without the overhead of interprocess communication and, presumably, without some of the advantages like stability and general tidiness of things .
BTW, some time ago there was an announcement by some guy who was writing a minix-inspired OS and asked what features people were interested in... Wonder if anything ever became of it?
Offline
BTW, some time ago there was an announcement by some guy who was writing a minix-inspired OS and asked what features people were interested in... Wonder if anything ever became of it?
"just a hobby, won't be big and professional like gnu" - looks like he failed miserably.
To know or not to know ...
... the questions remain forever.
Offline
Linux is modular, but still a monolithic kernel as it loads code into its own process for drivers, etc. If a driver crashes, it might take down the whole process. Microkernels on the other hand use separate processes which require some optimized IPC for low-level stuff (hard). When done right, drivers can't really crash the kernel, as the process is simply killed and restarted.
That sounds like an awesome feature, would be cool if Linux had that.
Offline
Themaister wrote:Linux is modular, but still a monolithic kernel as it loads code into its own process for drivers, etc. If a driver crashes, it might take down the whole process. Microkernels on the other hand use separate processes which require some optimized IPC for low-level stuff (hard). When done right, drivers can't really crash the kernel, as the process is simply killed and restarted.
That sounds like an awesome feature, would be cool if Linux had that.
The operating system described is in the fact the very operating system you are likely to be using.
How's my programming? Call 1-800-DEV-NULL
Offline
jelly wrote:Themaister wrote:Linux is modular, but still a monolithic kernel as it loads code into its own process for drivers, etc. If a driver crashes, it might take down the whole process. Microkernels on the other hand use separate processes which require some optimized IPC for low-level stuff (hard). When done right, drivers can't really crash the kernel, as the process is simply killed and restarted.
That sounds like an awesome feature, would be cool if Linux had that.
The operating system described is in the fact the very operating system you are likely to be using.
No. As stated, the Linux kernel is monolithic. I believe that jelly was wishing that the Linux kernel had the advantage of a microkernel architecture, as Hurd or Minix 3.
"Computer Science is embarrassed by the computer." -- Alan J. Perlis
Offline
zowki wrote:jelly wrote:That sounds like an awesome feature, would be cool if Linux had that.
The operating system described is in the fact the very operating system you are likely to be using.
No. As stated, the Linux kernel is monolithic. I believe that jelly was wishing that the Linux kernel had the advantage of a microkernel architecture, as Hurd or Minix 3.
Did you mean that Hurd has this feature?
Because it doesn't. Drivers in Hurd are in Kernelspace, not in userspace. So a bad driver could crash the system. It's stateted in their wiki.
Offline
Because it doesn't. Drivers in Hurd are in Kernelspace, not in userspace. So a bad driver could crash the system. It's stateted in their wiki.
This is correct. Thanks for the correction on the current state of Hurd. My point was that a monolithic kernel can't support drivers in userspace at all, therefore (contra zowki) Linux doesn't have the "awesome feature" which microkernel designs can potentially achieve, as mentioned above.
So, I guess that advantage is something that Minix version 3 offers that Hurd does not share.
"Computer Science is embarrassed by the computer." -- Alan J. Perlis
Offline
I think it is the time to make a unix next generation ...........
throw all code of the old unix system ..to build a new world!
Offline
throw all code of the old unix system ..to build a new world!
Already done twice (two separate groups)
Offline
Pages: 1