First Program Executed on L4 Port of GNU/HURD
wikinerd writes "The GNU Project was working on a new OS kernel called HURD from 1990, using the GNU Mach microkernel. However, when HURD-Mach was able to run a GUI and a browser, the developers decided to start from scratch and port the project to the high-performance L4 microkernel. As a result development was slowed by years, but now HURD developer Marcus Brinkmann made a historic step and finished the process initialization code, which enabled him to execute the first software on HURD-L4. He says: 'We can now easily explore and develop the system in any way we want. The dinner is prepared!'"
Except this one, of course.
Slashdot: Where people pretend to be twice as smart as they really are by behaving like children.
... if GNU/HURD comes out before Longhorn?
Maybe the second program should be a better web server.
/* oops I accidentally made a comment, sorry */
What are the relative benefits of L4 vs the Mach Microkernel? Better performance? As I understand it, MacOS X's microkernel is also based on the Mach microkernel... would it make any sense for Apple to look at L4?
return 0; }
Reminds me of the Dilbert comic strip where an old man waves a piece of paper around and says "At last, I have formed a strategy that is acceptable to all departments. Now if only there were a way to reproduce text from one piece of paper to many."
The HURD kernel is often joked about, but I for one does hope that it will eventually become a viable alternative to the Linux kernel. Competition is seldom a bad thing, especially not among free software projects.
.: Max Romantschuk
BTW, Revolution OS is a great movie, even my non-nerd friends loved it. You can pick it up here: http://www.amazon.com/exec/obidos/ASIN/B0000A9GLO/ revolutionos-20/103-9235316-0475036
Now, 22 years later, a definitve breakthrough has been performed.
I see this as an excitement
Now, we will see it emerge and, why not, get sufficient audience to become unavoidable. In 20 years from now, it'll be like it's an opportunity as weel as any other so it's not missed, it just took time to emerge, like my favourite whisky.
Trolling using another account since 2005.
Or they could decide to restart it.
http://en.wikipedia.org/wiki/L4_microkernel_family
I might as well quote this too, which I think this story most likely refers to (posted on 27 jan~):
This uses a lot of advanced words I have no idea what they could mean though, but I don't mind as long as someone does and writes an article
Still a long way to go. Not much one can do except wait... or send in patches if you have kernel hacking experience!
would it make any sense for Apple to look at L4?
Given the fact that some features in OS X took Apple over 12 years to get into a shipping product (development on Copland started in 89), and given the fact that for years Apple had suffered with a horribly buggy, non standards compliant, limited system that was the Classic Mac OS, and given the fact that Darwin with the Mach kernel is an excellent open source unix system, and given the fact that huge amounts of time and money were spent getting OS 9 and Carbon libraries to run on it, and given the fact that OS X is now arguably the best OS out there and is earning heaps of praise from geeks, luddites, and just about every other type of user, and given the fact that OS X represents the most compelling reason to switch to Apple computers in years, and given the fact that in just a few years the OS has amassed a compartively huge following of developers and applications...
Given all those facts...
Whould it make sense for Apple to now completely rewrite it DOWN TO THE KERNEL LEVEL!!!
I really hope I don't have to answer that.
When the first programs run, it is just a matter of time before there is a functional L4 port of Debian GNU/Hurd (or just Debian GNU?). I really like the design of the Hurd, but what I'd like to see the most are not the "POSIX capabilities" but the real capabilities as described in the 1975 paper by Jerome Saltzer and Michael Schroeder, The Protection of Information in Computer Systems. (For those who don't know what am I talking about, I recommend starting from the excellent essay What is a Capability, Anyway? by Jonathan Shapiro, and then reading the capability theory essays by Norman Hardy. As a sidenone I might add that I find it amusing that people who say that there are other advantages than only Digital Restrictions Management of using TCPA/Palladium-like platforms usually quote security features, which have already been implemented in the 1970s, only better and with no strings attached. Those TCPA zealots are usually completely ignorant of the existance of such operating systems as KeyKOS or EROS with formal proofs of correctness without all of the silliness.) Are there any plans to have a real capability-based security model available in the Hurd?
Sincerely,
Pan Tarhei Hosé, PhD.
"Homo sum et cogito ergo odi profanum vulgus et libido."
How much time would it take to port it over ?
The Internet's nature is peer to peer - 20050301_cs_profs.pdf
How fast is GNU/HURD compared to GNU/Linux? How about non-GNU/Linux?
Microkernel systems are always slightly slower because of the message passing overhead but they can be much more secure and stable because all of the device drivers are run in user space. Contrast it with systems such as Windows and Linux where drivers are in kernel space and it is impossible to have a stable or secure system with poor drivers, and in fact most of the problems with Windows and Linux crashing is caused by buggy drivers running in kernel space. When the drivers are just user processes like in HURD then a faulty driver can't crash the system and if it goes berserk it'll just get terminated just like a buggy browser or text editor without affecting the stability of th entire system.
Reminds me of the Dilbert comic strip ...
I've been boycotting Dilbert since its authors became BSA propaganda whores.
Fankly, I think it's a great thing that BSD and HURD will be putting some pressure on Linux to be the best. Competition makes them strong, and the cross-fertilization of ideas makes them stronger still.
Besides, HURD may end up being superior to Linux in some domains, such as high-reliability systems (think banking servers), driver development, OS research, shared systems, and the like.
Neat concept, but what if your graphics driver goes out?? Will it respawn automagically? Whaty if the hard drive controller's driver dies? Sometimes a neat concept ends up not being very practical. I would rather have the OS die if the hard drive controller's driver kicks off as there's less of a probablility of hard drive corruption. If the driver code for the hard drive dies and the kernel keeps running, would you not have lost alot data?
Gorkman
While there are many "dying" projects out there (remember the "Windows replacements OS" hype?), HURD has always had the most of critique, mainly because it embodied the very promise of a GNU system to many people in its days.
But putting the whole history aside, you could see HURD as an exercise in OS development following the route of the more progressive design theories. You might be able to imagine how this pulls the interest of a small group of developers over a longer time, despite of the fact that development is going slowly.
You know how Free Software has the ability to evolve and persist aside from political influences, well, here is your new schoolbook example.
"We can confirm that Debian does *not* ship the version with the trojan horse. Our version predates it." [CA-2002-28]
If the system is able to stay up without further drive access, that could potentially allow you to copy data still in RAM. If the OS simply instantly failed when the HD controller went, then any data in RAM would absolutely be lost.
:)). But most drivers wouldn't be that hard to restart... video and network are two very good examples. I have seen many 2.4 kernel crashes from what appeared to be network-driver failures. Presumably, a microkernel might have survived whatever the problem was.
:-)
Software failure is more common than hardware. In many cases, drivers can be restarted. Your specific example is probably the toughest one I can think of offhand... you'd have to have a copy of the HD controller cached somewhere to be able to restart it. (since, obviously, you can't load it from HD
You also, of course, have the advantage of each driver/process running in its own address apace, which would probably make very complex code, like the 2.6 Linux kernel, more manageable.
Just as an offhand observation, I kind of wonder if the 2.6 Linux kernel isn't approaching the level of diminishing returns... it's gotten so complex that it's getting pretty tough to cleanly improve without blowing a lot of stuff up. A microkernel design would probably have made maintenance easier, and *probably* would have given us more stable systems now.
But they didn't go that way, and restarting Linux kernel development would be pretty stupid, IMO.
On BeOS, when the sound subsystem crashed you would get a message informing you of this, and it would automatically attempt a restart. On Windows or Linux when the sound subsystem crashes, the odds are you've got a kernel panic (since the drivers run in kernel space).
I am TheRaven on Soylent News
The funny thing is that back when Linux was started, it could been seen as a restart of the HURD kernel development. What goes around comes around. :-)
You're describing the bootstrapping problem, which if I recall correctly is actually described on the GNU website, somewhere.
To answer your question, the GNU devs started out with proprietary operating systems -- primarily SunOS, I think -- and took advantage of the modularity of UNIX to replace one utility at a time. This is why the kernel was the last piece -- because most of what makes a UNIX system run actually resides in user space.
Attempts to create free versions of other OS types -- ReactOS comes to mind -- have a harder time following this example, because most other operating systems are not designed in such a modular way. So they start with the kernel.
The L4Ka-based kernel is a new project that sounds like it has a lot of promise
I don't think something called "El Forka" sounds all that inspiring.
guess nobody bothered to g**gle it: New kernel for Darwin:
Your point? The world now knows there are viable alternatives, and they can be had for historical lows on price.
The world's got practice. It's no longer in the same state it was in '91. Back at that time, very few people had unix machines on their desk or at home. Unix ran in the computer room at work or school and you connected to the system but did little in the way of administration. Millions have been introduced to "the unix-like way of life" (TULWOF), superuser status, and have developed desires to exploit the powers of their machines in an infinite number of ways. The world is primed to be wowed again.
I see our future selves laughing at our current fascination with Linux like we now look at time we spent with DOS. We'll see someday how horribly inflexible it was compared to what's coming in this next generation of operating systems. Your post shows you know very little about the Hurd and what possibilities it will allow. One cannot currently imagine all the fun things people are going to do with it (them?) X years from now.
Exactly not the case. There are *profound* advantages [to "the Hurd"].
If and when a usable system comes to fruition is the question. Developers. Developers. Developers. Get them excited and you'll soon be doing things with your machine you'll never even have considered possible. Maybe not yourself, but people will be doing things they never dreamt possible. There are fundamental differences that are difficult to comprehend having experienced only monolithics. Granted, most of the advantages are not so much at the user level, but from a system administration perspective. Guys working "in the computer room" will probably have much more to be excited about than somebody with a user account. If you know what "having root" is like, the possibilities coming with the Hurd's architecture will be much more meaningful than they would to a typical user. However "typical user accounts" will be much more powerful on a box running the Hurd. Even low level stuff like filesystems floats up into "userland" allowing you the ability to customize your environment to great extents without affecting other users on the same machine.
Maybe more people should work on the current telephone system instead of wasting their time with VoIP. Maybe you should have worked harder at your old job instead of trying to find a new, better job? The Hurd is to Linux users like Linux is to DOS users. If Linux (as currently implemented) lives in N-space, the Hurd lives in N+1.
Resources get split up; sure. Consider however how the body of developers grows every day as more and more are introduced to TULWOF. None of us get to justify or dictate how others spend their free time. Get excited about the underdog. Linux has enough developers, don't you think? Will developments made on a new system with completely different rules positively effect Mr. Torvalds pet project? Most certainly I presume. I see the relationship as symbiotic. The Hurd takes on the huge body of software that has been developed due to "the Linux revolution" of the last decade and Linux takes from the Hurd (besides the jealousy that I can only predict will develop eventually) new techniques and perhaps, somehow, some type of hybrid approach to the kernel. There's no telling really; I can only imagine good things coming to both camps. Your attitude of discouraging work on such projects, done freely by others, I see as sel
Oscar Sierra
Too true.
This is precisely my problem with RMS's theory of freeness. The original reason he developed his whole GNU ideology was due to not being able to get hardware interfaces to work correctly. In other words, he wanted to get some work done and was prevented from doing so by the software he needed not being available. RMS being RMS, he decided he would solve the problem himself, and found that the info he needed to hack the drivers wasn't available. Now there are two possible AND EQUALLY VALID solutions here: either the suppliers make information freely available so that RMS can hack his drivers; OR the suppliers ship decent software in the first place.
Now granted, if all the docs and source for everything was available to everyone then the world certainly would be a better place - but ultimately what counts is having the tools you need to do your job. RMS (and hence clearly the Hurd developers) have confused this "freeness" with being an objective in itself, when really it is just a tool to let other people achieve their objectives.
This is as true in the physical domain as in software. If I want to do some woodwork, I buy a chisel, or borrow one off a friend. I don't give a shit if the specs for the chisel and the process by which it's made are posted on a website somewhere - I want to dig a hole in a bit of wood! If the chisel with its own website is a blunt piece of crap, I'll get one that's sharp and does the job properly.
Frankly, the only reason RMS (and others) can sustain their GNU agenda is that they don't have (and in some cases have never had) real jobs. You know, jobs with deadlines, where you can be made redundant or fired if you're not pulling your weight on a project, and where you don't get a load of time that you can arbitrarily spend on any scheme that takes your fancy. Checking RMS's resume, his background is all Bell Labs and similar "think-tanks". In Ivory Tower Land, such principles are fine - but in the real world, we just want to do stuff, thanks all the same. If your ideologically-perfect OS doesn't work as well as Windows, or if your ideologically-perfect application doesn't work as well as the MS equivalent, I'll ditch it without a moment's hesitation.
And this is where the Hurd people have fallen down. In their pursuit of the ultimate in gold-plating, they've utterly missed the point of delivering something that people can use. I don't think it's an exaggeration to say that Hurd will never succeed - I don't see how it can, because they've proven time after time that serving their user base is much less important to them than their ideology. And if you screw over your user base, man, you're dead.
Grab.
Oh, I definitely never intended to imply that the HURD is stupid, not at all.
:-) And they are, from what I can see, treading very new ground, and that's always slow.
I was speaking specifcally about stopping development on the current Linux and starting over, which I think would be very dumb. Usually, rewriting a big software project from the ground up kills it. Mozilla, for instance, ceased to be a viable commercial force because of its rewrite; Microsoft ate it alive. Firefox is doing pretty well now, but no commercial entity could have made that mistake and survived, if selling browsers was its major source of revenue.
There's a huge amount of embecded knowledge on how PC hardware works buried in the Linux code, and rewriting that whole thing from scratch would be a gargantuan project. They've been working on it for, what, 11 years now? A total rewrite would take at least 3 or 4, during which all forward progress would stop. Just not a very good idea.
But I think it's great that the HURD is finally moving, at least a little bit. I will admit, I was a bit shocked that after roughly 15 years, they're just now able to load a program. But, hey, it's not like I needed it done last week or anything.
Reiterating: the more OSes, the better. I just don't think they should start over on Linux itself.
I think his point is that:
1. Yes - if your filesystem code crashes, you could end up with a dirty filesystem.
2. Yes - if your hard drive code crashes, you could end up with a dirty hard drive.
But:
3. No - if your webcam driver crashes, you won't end up with a dirty hard drive.
Right now with linux, if a kernel-level driver of any kind panics, the whole thing goes down the tubes.
Certainly a little compartmentalization can't possibly hurt. It won't fix every problem, but it does prevent a small problem in a non-essential driver from taking down the whole system.
As you point out, it will still be critical for some pieces of code to just work without bugs at all. However, the amount of that code can be reduced in a microkernel design.
Also - I don't think TWAIN is windows-specific. I seem to recall using TWAIN on a Mac many a year ago...
Actually, Multics was deployed commercially, I used it at a university site and it was amazing how well it worked compared to the IBM timesharing systems that were the alternative then in scientific computation (no Vaxen at that time). I think there were some commercial issues rather, the system was mature and deployed.
This is not a signature.
I would agree with you except for the fact that you're treating the FSF/GNU as a corporation that has to develop products for customers. They don't. As RMS has said himself, if there's a free, but unfinished or imperfect solution out there, he'll take it over a non-free, proprietary solution any day of the week. I think while they try to make sure the software is completely useful to everyone, listen to feature requests and bug reports, etc., that is not their primary objective. The primary objective is to make something that works that anyone can modify and use.
So, with your wood chisel analogy, let's modify it a bit. You can buy a wood chisel that is sharp and such, but you are only allowed to use it on certain types of wood, must stand in a certain position when operating it, and are not allowed to give it to your friend to let them borrow it. These are the terms of using the proprietary wood chisel. Now, online there are specifications and instructions on how to build your own chisel. If you disagree with the way they've done something, you can modify the instructions as you see fit to improve it provided you tell the web site of your modifications incase others want to do it. You can even take the chisel you made with their instructions and sell it for a profit, as long as you also provide instructions on how you built it. So, if your freedom isn't worth enough for you to be able to do stuff like that, and you'd rather buy a different chisel for each job because some company tells you that you must, then you'd be the one buying proprietary, non-free software.
Probably not a great example either, but it's hard to put the concepts into words and compare them to any other such relationship. I guess my whole point is that to them, freedom is the most important aspect of all. If they can provide their users or customers with freedom, they have achieved their main objective. I think the success of GNU/HURD is irrelevent. If GNU uses it, and it works for them and finally gives them a 100% free operating system to release to the public, it's a success.
Um, Dilbert is a comic strip. It is meant to be funny and it attacks some areas of interest to a specific niche of readers. If you think you can address other issues in a funny way, by all means write another comic strip!
Now, to pick apart his list of things he says are never addressed in Dilbert...
Is this guy serious? Hello, Elbonia???? He has clearly not read much of the strip.
Oh yeah, those are really funny topics that the average geek encounters on a day-to-day basis.... HELLLO, Dilbert takes place in a cube-farm! There is no union in the average cube-farm environment, and when there is interaction it usually leads to a feeling that I would describe as PRO union-busting.
Again, he must not read the strip. Alice's character is there, I think, to humorously depict a woman's experience in a male bastion. Also, I think that they address planned obsolescence sufficently.
Jeese... again, just not funny material here. Also, not something that most cube-dwellers will run into except in the newspaper.
Man, alive, this is not a "blue-collar" strip. Again, if this guy wants to make a new strip that targets a different audience, he is welcome to. I don't feel that it is a valid criticism to blame a comic strip, or even any other piece of literary or artistic work, for targeting the wrong audience. Try to restrict yourself to commenting on the content provided. Man, he only has three frames a day! I imagine this guy gets his panties in a bunch over Garfield because none of the characters has ever developed feline AIDS.
W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
it just took time to emerge
Damn, those Gentoo guys don't miss a beat, do they?
The kernel is not implemented as true microkernel. There is seperation, but the message passing is limited to IO request packets that are sent to and from the HAL from (properly written) drivers. The drivers run in the same thread but in a different execution context / ring (IIRC through a "door").
But drivers that require "fast IO" are running in the same address space as the kernel.
So while the IORP-using drivers shouldn't be able to take the system down, I wouldn't call it a microkernel exactly.
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON