Post a Comment
I run http://www.minixtips.com on a minix 3 server and it runs fine. So I think as an HTTP server it makes a fine OS. I've also run it as a desktop quite a lot - uses the X windows client and wiirc as the window manager. Again, no problems for normal desktop usage.
I did have to use remote X to another machine to run programs that haven't been ported yet though. The main one being Firefox.
Edited 2006-09-25 22:41
At the very least this will put some pressure on linux to become more reliable by putting less performance critical subsystems into user space.
Not only linux,any OS.
I do see the sense of what you are saying about a stable OS being a good example for fellow OSes to live up to, be it Linux or any other.
Now compare that ideal path towards The Optimum to the actuality that Minix has been around longer than Linux and at this moment poses not even the slightest challenge to the market share of any mainstream OS. And maybe not to any niche OS either, but there are more niches than I keep tabs on, so perhaps I've overstated that a bit. (;
I'm still pulling for the paradigm you and tuttle have outlined, but I don't think it has actually arrived yet. On the other hand if no one sets a good example we can't expect stability to magically emerge from the Singularity. Oh, wait ...
People - don't mod down somebody, who I assume IS Andy Tanenbaum from the content of the post - who is trying to pre-empt a tedious flamefest about Linux. We're discussing Minix here. It sounds great. I have just the machine for it, and will try it out. Hopefully someone will soon port a basic desktop manager to it (I'm a graphics worker) which would make it totally suitable for OLPC and other educational projects.
Sorry if I offended you. I will definitely check this out. I think that microkernel OSes are a much better approach than monolithic kernels. To be honest, I think that all current mainstream OSes (Windows, Linux, OSX) are kind of lame.
I was just attempting to estimate how this would influence that other OS.
By the way: is there a stable interface for binary drivers for Minix 3? This is very important for wide scale adoption, and that other OS does not want to do it for ideological reasons.
Rebirth
Although MINIX was (and still is) widely used used for teaching operating systems courses at universities, it got a new impetus in 2005 when Tanenbaum assembled a new team of people to completely redo it as a highly reliable system.
When the special contributor is Prof. Tanenbaum himself, why is the article written in third (second??) person ?
Has the article been edited by osnews before publishing?
BTW, a very good article. Enjoyed reading it.
Edited 2006-09-25 10:22
When the special contributor is Prof. Tanenbaum himself, why is the article written in third (second??) person ?
It takes some getting used to, but it is actually customary in academic circles to do it this way. It makes more sense when referring to articles the author wrote together with other people (e.g.: 'Tanenbaum & X did..'), but I assume the custom is derived from such instances.
I received the CD at a lecture by Andy Tannenbaum, and it it's pretty good stuff (boots lightning fast, but my hardware wasn't supported). The article is more or less a condensed version of the lecture, so I am pretty convinced that this is the real Andy Tannenbaum. Still, projects like Minix may be the most elegant solutions, but they have to put up a battle against less elegant solutions that are mostly functioning and quite evolved, and that for the industry just work.
The ideas may be great, but I am not sure that the industry will be willing to put enough muscle behind minix to help it fly.
So drivers are living in user space. That should make developing drivers much easier.
What this project needs now is a kick ass driver development kit including a nice driver debugger including all the usual bells and whistles such as breakpoints etc.
Ideally it should be so easy to write drivers for Minix3 that people write the prototype driver for their hardware on Minix3 and then port it to the mainstream OSes.
That is the only way I can think of to have decent driver support for a new, non-mainstream OS.
I recently picked up from the library "Modern Operating Systems" by Prof. Tanenbaum. (2nd, edition, 2001, not too much mention of Minix.)
I wanted to know more about the concepts and nuts and bolts of OS design and implementation - not because I could ever hope to make any meaningful sort of contribution, but just to have a better appreciation of systems I work with.
I never expected to be able to do anything practical with it, but it turned out that I was able to use this book to squash a very annoying bug. I was reading it at the bus stop a few days ago, and after boarding noticed that a wasp had followed us on board the crowded bus. It was getting angrier by the minute at being cooped up, so seizing the opportunity I reached over and flattened it against the window with the back of Prof. Tanenbaum's suitably hefty tome. I felt a little heartless, but not too many months before I had spared a wasp on the bus, and it had crawled up my pants leg and stung me in some painful areas (providing free entertainment for the other passengers). I wish I'd had his book then. (True story.)
Geoff
I agree that POSIX compliance often limits an OS.
But in this case I am sure the POSIX compliance is just a user space module sitting on top of the real OS without compromising the OS design.
The performance will be slightly less than with an OS designed exclusively for POSIX compliance, but I will gladly accept that for better stability and easier driver development.
And with each and every project that tries to do something different, you add new incompatibilities between systems.
Trying out new things IS good, but there needs to be coordinated efforts to bring those things to a wider audience as well.
Get wide enough support, and keep it under strict, but open, control by suitable players, and you have a new standard that makes life better for the users... hopefully.
I like the concept behind this kernel. Putting all of the drivers and subsystems in userspace and reserving kernel mode for the low level operations like process scheduling and IPC is more secure and reliable. The live monitoring (daemon??) that dynamically restarts misbehaving drivers modules is also neat and could really improve overall stability.
But I'm assuming this dynamic monitoring feature inflicts some performance implications?
Its unfortunate that so few devices are supported by this kernel. Maybe someday an effort will be made to port the majority of open-source Linux drivers to the Minix kernel so that we can have a viable microkernel alternative to Linux. The alternatives now are mostly monolithic like Linux except for Hurd. But I suppose Duke Nukem Forever II will be available before Hurd ever stablizes.
Minix, with its Microkernel is very impressive and extensive for a guy like me who is after the awesome integration of OS in a very small but efficient core, I am also impressed by running drivers in user process, this would protect every user's thread and activity.
This is such as a nice and genius innovation on the part of OS engineering and I hope Mr. Andrew will not stall from it's graceful development...
Go Go GO Go .... Great Racoon
Edited 2006-09-26 06:18
The old Minix was an academic OS that was designed primarily as a learning tool and not as a serious OS. Even Tannenbaum himself said so. Of course stuff like QNX has been available for a long time, but that is not open source.
Both Linux and Windows are moving in the right direction, albeit very slowly. Windows Vista is putting things like the Video and Audio stack into user space, and on linux there is stuff like FUSE (File System in User Space).
Since on UNIX almost everything is a file, you can do a lot more than just storage with FUSE.




Score:
