Fiasco Microkernel Version 1.0 Released
'lonzo writes "Version 1.0 Fiasco, a GPL re-implementation of the L4 microkernel has recently been released. This microkernel is designed to be a flexible hardware abstraction layer rather than YetAnotherCloneOfUnix. Its 'mechanism not policy' design allows far more opportunities for *ghasp* innovation than any of the Unix clones. It also provides people with an alternative to the macrokernel design of Linux. Get your copy here. Linux has already been ported to this OS, get it here, and another port."
... Wasn't the L4 microkernel meant to be an alternative, future base for the HURD (currently based on a GNU implementation of Mach, IIRC)? Has Marcus or anyone else had the chance to look at this yet? If so, what do they think?
========================================
Death will come, and will have your eyes
-- Pavese
Fiasco Microkernel Version 1.0 Released
So, Hurd is finally out? WOW!!!
If you take this quiz:
http://bbspot.com/News/2003/01/os_quiz.php
and skip any or all questions, your personality is diagnosed as:
"You are GNU/HURD.
You feel like your life is incomplete.
If you answer all the questions
you may get better results."
Very true.
Finally, a kernel written in a high-level language. This is going to make the nontrivial subsystems like VM and buffer cache MUCH cleanier, easier to debug, and ultimately, easier to improve.
How can you call it Linux, if it doesn't use the Linux kernel? Wouldn't it just be Another GNUish System?
I've had enough abrasive sigs. Kittens are cute and fuzzy.
Hey, maybe if L4 was ported to L4, apps would run in user-user-user-...-space.
Having a metacircular operating system (one that can run as a user process within another instance of itself) is actually useful, as it allows for virtualizing a machine. This can make server configuration and isolation easier (which is why it's common on mainframes), and it makes kernel debugging a lot easier. Look at User Mode Linux and the new Plex86 for more info.
Will I retire or break 10K?
As far as I can tell, the only practical impact of this is a slap in the face to the HURD developers, who have just been bypassed by yet *another* kernel project...
May we never see th
Its 'mechanism not policy' design allows far more opportunities for *ghasp* innovation than any of the Unix clones.
I agree, but where is it? The L4 crowd, like Mach before them, spent so much time building the microkernel that they haven't built anything interesting on top of it.
Ever try to hack linux? It is cryptic, convoluted, bloated, pretty much awful code. No good docs for it, and even if there were good docs for it they are quickly out of date because the core linux contributors all get together and change everything every few months. There is only one way to figure out how to do stuff and that is to study the awful, cryptic code. The newsgroups + mailing lists don't work, people don't answer the deep technical question you ask.
So here's the idea: Have a tiny micro kernel, and all device drivers are user processes that are independent of each other. So someone could rewrite the ide system without it impacting anything. Each system would be a small standalone tree, easy to pick up, understand, and add to. Hardware makers would like it because they wouldn't have to really know LINUX (monolithic kernel and all the details of it) to write their device driver. They'd just need to know the interface to the micro-kernel. Driver development would progress at an unheard of pace. And this is critical, if all the drivers are made to be linux compatible, all the linux codebase would work.
Anyway sounds really good. So I go download fiasco and try digging for documentation. How would I access the pci device list to find my device so I could implement a driver for it? How does dma work? All I can find is that it is an implementation of threads and a memory manager with virtual/protected memory so processes (threads?) can't harm each other. I find fiasco is l4 compatible (what is L4?) I find on l4 page there is a postscript spec sheet (why not pdf?) I gunzip the ps file and gs (ghostscript) it to view it, and am told
Can't find (or open) initialization file (gs_ll3.ps)
Can't find any overall description of how it all works, the theory. I see a big list of function calls. No introduction, nothing to aid in the learning process.
Here's my point: No matter how wonderful a new piece of code is, it is useless to *everyone* unless they know how to use it. If those guys want to go anywhere with this code they'll stop working on the code and start working on a primer for wouldbe contributors. Make it easy to pick up and all that hard work, all those wish list items, will magically just happen.