GNU/Hurd Delayed To Fix Disk Size, Serial I/O Limitations
gregger writes "This Infoworld article indicates that the GNU/Hurd is still waiting to stampede. Evidently they have to switch from the GNU Mach implementation they're using now to OSKit's Mach which will help them support faster serial I/O and larger hard discs. Currently GNU/Hurd will only support somewhere between 1 to 2 GB partitions."
presumably theres
GNU/Linux
and
GNU/Hurd
Thing that bugs me about this is that the pace of hardware technology obsolescence is such that if it takes more than 2 months to develop a new OS, you can't go out and buy new (as opposed to second hand) hardware to run it on... because all the new hardware thats available is incompatible with what you were developing for.
I reckon PC hardware should follow the model of Soviet military technology, which is to say;
Refine existing technologies, don't introduce new, untested, technologies every freakin month!!!
In the free world the media isn't government run; the government is media run.
Is harder than most people seem to think it is.
That being said, I think the Hurd is pretty much a solution in search of a problem. Who cares? And why? The FreeBSD kernel does everything Hurd purports to want to be able to do, and is more mature, stable, and feature-complete. The same could probably be said of the Linux kernel.
Does that mean the Hurd guys should stop what they're doing? Of course not. Writing operating systems is fun.
It does, however, probably mean that the stuff they're doing isn't really news.
GNU was intended to solve the problem of their not being a free unixlike OS. Now there are like 50 but still no GNU. Maybe they should refocus on providing a great userland?
Never overestimate the end user. -jeramy b. smith
My home directory (which only contains material back to '98, all else is archived on QIC, which I can't even read any more) is already 6GB, and that's just mail and documents -- all of my images and sound files are stored elsewhere.
No wonder I don't use Hurd.
I think the Hurd is a nice, interesting CS project, but there isn't enough of a pragmatic influence amongst its developers ranks to make it actually useful to anyone.
STOP . AMERICA . NOW
What kind of systems are they using for development that they just noticed the inability to read current large partitioning schemes and interact with them? This dosen't do much to encourage me to try HURD and hope it will support much of my newfangled hardware.
Kindness is the language which the deaf can hear and the blind can see. - Mark Twain
Now if they were switching to L4, that would be cool. But it would be a research effort.
And why does anyone, at this late date, care much about high-speed serial line support?
Kudos to RMS for fighting the good fight, but he's already contributed significantly to Linux. I really don't think it'll go farther than that.
This sig no verb.
I'd assume that they're working on the HURD because they think that it's interesting, fun, and/or a good learning experience. Not all Free Software development has to take place with the goal of taking over the world. A lot of it, as ESR points out, is done to satisfy the interests of the individual authors. That's why there are a million projects on Freshmeat that are essentially clones of the same basic project- mp3 player frontends, database systems to catalog CD collections, etc. Individual programmers write them for their own personal reasons and then provide them for anyone else who wants a copy.
There's no point in questioning authority if you aren't going to listen to the answers.
No kidding, it's just like the situation with Linux. Linux will never be as popular as Windows, it's no more stable or reliable, and it doesn't support nearly the same hardware base as Windows. Why don't they just give up and start coding for a real platform? They'd do us all a favor. Will all the Linux users please stand up so that I may fart in their general direction? I have one question: WHAT are you trying to desperately prove? That you can eventually make something that's "not quite Windows?" I'd like to know your motivation.
OSKit's Mach which will help them support faster serial I/O and larger hard discs. Currently GNU/Hurd will only support somewhere between 1 to 2 GB partitions.
So why don't they just rip the grungy device-driver stuff from the Linux kernel rather reinventing a square-cornered wheel? Perhaps they're not familiar with the concepts of Free Software and re-use.
The biggest issue is that Stallman is an idealist. Torvalds just wanted a working Unix-line OS.
A slip of the foot you may soon recover, but a slip of the tongue you may never get over. -Benjamin Franklin
according to the article:
if you get a moderate size disk you have to divide it into smaller partitions, which is a nuisance.
I'm sorry, but I have an 80gig drive. If I need between 40 to 80 partitions (between 1 and 2 gigs each), it's not just a nuisance.
And compiled high level language programs by definition can't be as fast as assembly language. But at some point we all decided that ease of programming and maintainance was more important.
As processors get faster and faster the time it takes to do the context switch will become less and less important.
# (/.);;
- : float -> float -> float =
Unlike other popular kernel software, the Hurd has an object-oriented structure that allows it to evolve without compromising its design. This structure will help the Hurd undergo major redesign and modifications without having to be entirely rewritten.
And you guys are wondering why it's taken 19 years???
*shrug* You and I may like speed... but for the average user microkernels offer more advantages.
You and I are running servers and gaming systems; we want pure performance, and don't mind rebooting a couple of times or recompiling a kernel to change hardware or upgrade drivers. In contrast, my mom has trouble right-clicking My Computer and choosing Properties to get a driver list. For her, a layered driver system that can dynamically load and unload drivers as needed and layer itself against instability is a MAJOR plus, even if it's not for me.
Just because I favor speed over robustness doesn't mean either is intrinsically better - it just means my needs run that way. And, being a programmer, chances are that my needs represent a very tiny fraction of the computer users out there.
I wish that fewer people would be so damned hardline pragmatic. It's worth putting time into stuff that could be cool and to try to do things in ways that are nice. Maybe it'll fail, but it's worth the attempt, even if it only serves as an example of what doesn't work.
Linus was right at the time, yes. If he were starting Linux today, however, none of those three points would be correct. They're not experimental any more (WinNT before version 4.0, QNX and BeOS are/were all mainstream microkernel OSes), they do not execute notably slower than monolithic kernels (yeah, the Mindcraft survey was rigged, but Linux and NT are still competitive) and (apart from NT) they are no more complex than Linux is today.
On the other hand, "I know I can do it and get it working" would still be a valid argument for him to write a monolithic kernel today, but that's open source for you.
sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
The best reason for HURD: "Because they want it that way."
No one should have to justify what they want to build to you or anyone. Free software is not about the GPL. It's about freedoms. If these people want to build the most paradigmatically pure kernel ever conceived of, I think that's great.
If they want to turn an architecturally useful chunk of marble into a useless statue of some kid named David. That's great too.
When I enter a bunch of keywords into freshmeat and pick over the results, I occasionally ask myself, "What was this guy thinking?" Others with that same list ask that same question, but about different projects. It's the fact that we are free to combine conceptual purity, modifiability, stability, speed, and dozens of other engineering trade-offs in exactly the manner that we think is "right" that makes picking through Freshmeat like picking through a box of Dark Chocolates.
Oddly, the same rule applies. If you don't like a particular chocolate, don't eat it; don't whine about it; just pick a different one
I wish Mr. Stallman the fewest alpha particles and the best of luck in his noble pursuit.
Linux has nothing to do with Gnu. If you wanted to, you could make an OS using the Linux kernel & the BSD tools.
...except that you'd still need gnu libc to run those tools and gcc to compile them. you can easily find replacements for the gnu textutils or for bash, but libc is kinda essential.
on the other hand it's easy to see why people drop the gnu part of gnu/linux, and it has nothing to do with credit or attribution; they're just picking out the most identifying feature of an os that otherwise has no name.
gcc and gnu libc are critical (and incidentally account for about as much source code as the linux kernel last I checked), but all libc's and cc's aspire to work according to the same standard; so saying that your os was compiled on gcc or uses gnu libc isn't helpful to someone trying to grok its major characteristics.
That's a crock of shit.
If the compiler is solid, it most certainly can be as fast as hand coded assembly.
In many cases, it is FASTER than hand coded assembly; unless the person doing the assembly knows a great deal about the exact processor, cache, how to align instructions to execute faster, etctera....
Where is compiled defined to mean "slower than assembly?"
Yes, in some cases where the hardware is fairly new and nobody has written a compiler to optimize for the right tasks, hand coded assembly is better; it's still used quite a bit.
well the debian framework is poised to be bolted on around it.
so you'll have all the apps, functionality of a solid, if slightly sluggish linux distro.
in theory the more elgant design should bring performance increases,
and the superirio code maintainability won't need Bitkeeper to submit patches for it.
in theory.
'There is a Light that never goes out.'
You and I are running servers and gaming systems; we want pure performance, and don't mind rebooting a couple of times or recompiling a kernel to change hardware or upgrade drivers. In contrast, my mom has trouble right-clicking My Computer and choosing Properties to get a driver list. For her, a layered driver system that can dynamically load and unload drivers as needed and layer itself against instability is a MAJOR plus, even if it's not for me.
Linux can dynamically load and unload drivers with ease. It's been able to do this since the 2.0.x kernels, IIRC. Hell you can compile modules and install them without updating the kernel tree in many cases. And kernel OOPSes in the stable trees have been few and far between, to say the least.
Yes, microkernels are nifty but there isn't a whole hell of a lot one can do that a modular monolithic kernel can't. I hear there's even work to make the networking stack itself a module. Yer mom isn't going to notice any difference between a microkernel and the hybrid kernel that Linux offers.
There are plenty of other microkernels in use very sucessfully. WinNT/2k/XP, Mac OS X, MkLinux, Minix, just to name a few!
Don't make such wide-ranging judgements based off of one case. You're counting your chickens before they are hatched.
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
The Linux kernel is running out of steam--the software development is becoming more and more unmanageable (see the BitKeeper debates), and drivers and new functionality often take years to appear in stable, up-to-date form in the kernel.
Those are the kinds of problems microkernels were supposed to address. I have no idea whether the GNU/Hurd does or does not address them, and even if it does, it is 15 year old technology. But I do know that Linux isn't addressing them right now, and that's a problem.
I suspect that what will actually happen is that in a couple of years, there will be a severely hacked Linux kernel fork that keeps driver and file system compatibility at the source level for a while but otherwise goes its own way.
Bang on the money.
If I might add to what you've pointed out, RMS has explained that the motivation for continuing development of the Hurd is that it has the potential to be something much more powerful.
Which leads to what really bothers me about the Slashdot crowd's reaction to the Hurd. Lot's of people I know criticize Free/Open Source Software just rips stuff off, and doesn't innovate. Well, the Hurd is one of the most innovative Free Software projects around. These guys were talking about buiding a multi-server OS back at the beginning of the 90s.
Come on, once the Hurd is finished, GNU/Hurd will be years ahead of GNU/Linux, Windows NT, or Mac OSX. The only other OS I know of that's as theoretically-advanced as GNU/Hurd is QNX another multi-server.
This is cool stuff. Unfortunately, it seems that most people just want to complain, "Oh, does it have the drivers for XXXXX? No. Then it's useless." Grow up - the value of an operating system isn't defined by what hardware it runs on. That's much easier to change than the fundamental architecture of the system.
#define sig "Every social system runs on the people's belief in it."
Right. Any software project that takes effort, breaks new ground, and has real academic value isn't worth it.
Microsoft should be thanking you for spreading this attitude among Free/Open Source developers.
#define sig "Every social system runs on the people's belief in it."
Does anyone here know why they let the partition size issue languish for so long?
The partition size is limited because the Hurd maps the entire disk partition into main memory, and the 32-bit architecture of current Intel processors limits the size of a virtual address space to 2^32 bytes, hence the limitation. Changing the Hurd to do things differently isn't exactly a one-weekend patch.
On another note, once we go the 64-bit processors, we'll see a much larger virtual address space (double it's current size 32 times), and hence a much higher cap on the partition size (assuming no fix).
On another note, does anyone know how HURD benchmarks against linux?
This really isn't the right question to ask: remember that the Hurd is at version 0.2, and that "Premature optimization is the root of all evil." No new Free/Open Source kernel is going to ship and be immediately as fast and full-featured as Linux... things just don't work that way.
What's important is that the Hurd represents new OS technology... and that's more important that any current lack of performance or drivers.
#define sig "Every social system runs on the people's belief in it."
People can use GNU/Linux. You don't use the kernel (as an end-user), you use your applications.
I think we've got a best-of-both worlds situation here: in the meantime, we've got a very good monolithic kernel (Linux), and we've got a nice multi-server in the works (Hurd), for when the time comes when monolithic kernels just can't cut it anymore.
And regarding your statement, "It doesn't matter if you are theorectially advanced.", that's a load of BS. If no one is innovating, technology stagnates. What we're seeing here is the price of innovation. And if Free/Open Source isn't willing to do this, then we'll deserve the criticism that we're just ripping off proprietary software.
#define sig "Every social system runs on the people's belief in it."
This isn't the right way to measure the "goodness" of a system. The Hurd has concepts that are actually innovative.
If you're going to say that the Hurd sucks because it doesn't support some piece of hardware or software, then *damn*, Linux really sucks... and it did even more so at version 0.2. Gee, what am I doing... where's a Windows box? Win 98 must obviously be superior to all these Free/Open Source systems, with all the hardware and software it supports.
#define sig "Every social system runs on the people's belief in it."
This has nothing to do with the Hurd, and everything to do with the microkernel it's sitting on. At present, that microkernel is obsolete and slow.
#define sig "Every social system runs on the people's belief in it."
Currently, the HURD doesn't support benchmarking software
Oh man! I take back every bad thing I ever said about RMS and friends. Anyone who can disable benchmarking software deserves not only a McArthur grant, but international acclaim and recognition at every level. Why... oh... OK. Go ahead. Give him his Free Software tax. He deserves it. I'll be there to applaud him at the ribbon-cutting ceremony for the Bureau Of Software Development in Washington DC. Imagine! At last. No more benchmarks. This is a red letter day indeed.
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
I think everyone here is being pretty unfair to Hurd and RMS's efforts. Hurd can easily do all kinds of stuff you'll never get Linux to be able to do, like allow unpriviliged users to mount filesystems in their home directories without causing problems for security, allowing ordinary users to hack the kernel without breaking security and so on.
All of this has been a major advancement in computer science, and they simply haven't needed things like large partitions that of course would be needed for widespread acceptance. I simply don't see it as a big deal that they've taken so long to add the features needed for an end-user, because they had to take a long time to write the architectural underpinnings that are miles beyond Linux.
Request your free CD of my piano music.
> in theory the more elgant design should bring performance increases,
:(
Stupid need-for-portability, making everything slow
#define X(x,y) x##y
Peter Cordes ; e-mail: X(peter@cordes ,
It's taken me a few years to understand RMS' perspective on the issue. But just because I can understand it does not make it right.
From his viewpoint, linux was merely dropped into The GNU System. But from the perspective of the rest of the world, Linus made an OS and a the Linux distributions added a bunch of userland stuff from different projects, GNU being a major supplier.
To use an analogy, Linus built an internal combustion engine, then his friends when to the local AutoParts and built a car. The name of the completed vehicle is not AutoParts/Linux.
If you take a look from any perspective but Mr. Stallman's, a heck of a lot of GNU was adjusted to fit the Linux kernel. Linux was not adjusted to fit GNU. Just browse through the glibc ChangeLog for proof.
A Government Is a Body of People, Usually Notably Ungoverned
You're totally misinterpretting Mr. Stallman's beliefs about naming.
Probably.
A modular layer deep in the kernel which can be swapped at will is not really relevant to it.
"Swapped at will?" Not to put to fine a point on it, but this is in an article about the Hurd being delayed an indeterminate amount of time due to just such a swap.
You could ask why XFree86 is not in the name of GNU/Linux, and you'll be told it's because only the GNU and Linux parts were designed towards the goal of a free system.
1) I really don't believe those were the only parts developed towards the goal of a free system, so I suspect I must be misinterpreting your point, and 2) I would suspect I would really be told that you can have a perfectly reasonable Gnu/Linux system without XFree86. The GNU/Linux FAQ seems to imply it's really a matter of giving credit for effort, and not a matter of the philospohical goals.
GNU is the only operating environment designed to be free as in freedom from the very start, which is why Mr. Stallman asks that you properly credit the GNU contributors for their many man-centuries of effort.
Doesn't follow. Mach sure seems like it's free (and thus Hurd can use it), and it seems necessary to enabling the Hurd to exist. I still don't see why the efforts of the developers deserve any less credit for their man-years of effort towards making Hurd possible.
I'm not trying to be arbitrary here; I don't know all the issues, and I didn't know about the planned port to a different microkernel, but it seems like the current Hurd owes a lot of credit to the existence of Mach, in a way simliar to the way Linux-based OSes owes a huge amount of credit to the existence of GNU.
HURD is not the operating system choice of "hackers" or slashdotters. Hackers want to run computer applications (reliably and speedily). That is not what HURD is about. Its the utopian platform for computer science geeks; people who want to go beyond the current paradigm of UNIX, classic sequential computing, etc. . By abstracting the ukernel to a couple of critical operations (time slicing, memory allocation, and IPC), and moving every other operation to user mode, you have a tool that can be used to implement new concepts in computer operating systems.
Its not an alternative to Linux. Its an orange to Linux's apple. It will suck as an alternative to Linux. It will run slower than Linux (especially if they stick with Mach). It will not run more stablely than Linux (given its increased complexity). It may be a better platform for multiple CPU configurations, be we won't know that for sure until its ukernel design is complete, and an implementation of HURD actually proves it to be faster. Very few people will want to port useful packages to HURD; they'll go to Linux for reliability and performance. HURD's purpose is not a platform to run applications. Its a platform for computer science research.
That is the reason why I do not wish death on HURD and rejoice when there is good news for it. It does not really compete with Linux for mindshare. If it proves to be a superior platform for MP processing, only then will it have a mundane use.
I have massive contempt for its project management. Its currently looking like the OS that will never get released. And it does not deserve a serious look until it gets a quality ukernel, like L4 (which itself is unfinished). MACH will not cut it, or its UKS(?) version.
There is no America. There is no democracy. There is only IBM and AT&T and DuPont, Dow, General Electric, and Exxon
I have no doubt that had Linux not come along, there would have been more man power and efforts put into the Hurd these past years.
Really, this is getting to be too much.....after over a decade of floundering around, the FSF has yet to produce anything even remotely useful as a production operating system kernel. Linus and the people who worked on Linux did that in 7 - 8 years.
It's great what the FSF has done, to give the world a compiler to produce free software, and the tools and utilities to make Linux and other OS's a finished OS. And even the Hurd as a computer science experimental kernel to play with new ideas.
But it is ridiculous to say that Linux has distracted from the Hurd effort....the Hurd simply is not about designing a useful kernel.....it is a playground for ideas in OS architecture, and it will be many more years of flounder/play/redesign before it is known what ideas in there will even be useful for a production kernel,