Wednesday, 06 November, 2002
News of the Hurd
Infoworld reported today that the GNU Hurd has been delayed once again. That in itself is hardly news—the Hurd has been delayed for the last 12 years or more. What caught my eye is the reason for the delay. According to the article, Richard Stallman, president of the Free Software Foundation, said:
"There are two problems that have to be solved. One of them is the lack of high-speed, serial-line handling, and the other is the limit on the size of a file system which is at somewhere between one to two gigabytes, which means that if you get a moderate size disk you have to divide it into smaller partitions, which is a nuisance."
Having to live with a 2 GB disk partition in a world of 120 GB drives sounds to me like much more than "a nuisance." A few paragraphs down, Stallman is quoted as saying:
I don't think it was realized how bad it is practically speaking not to be able to use whatever your disk partitioning is.
Let me get this straight now. They've been working on this kernel since at least 1990, they've spent the last year or so in a big push to deliver something, and now only a month or so before their "scheduled" release, they realize that people might want to use their entire hard drives, and communicate faster than 19,200 bps? It's not like they couldn't have foreseen multi-gigabyte hard drives coming back in 1994 or so. Heck, I've had a multi-gigabyte drive since 1996, and I'm not what you'd call an early adopter.
We're supposed to take these guys seriously?
The reason for the 2 GB disk partition limitation is a surprisingly short-sighted design decision. The partition size is limited because the Hurd maps the entire partition into main memory. 32 bits only gives you 4 GB of address space, and the high bit typically is used for overhead, leaving only 2 GB for a partition. Some argue that moving the Hurd to 64-bit architectures will alleviate the problem by allowing partitions up to 16 million terabytes. I suspect, though, that they'd have some serious trouble managing the memory map for even a 120 GB partition using this scheme. This looks to me like a typical academia-inspired design that is ill suited to real world conditions.
Maybe, as the proponents are wont to claim, the Hurd is breaking new ground in operating system design. I keep hearing about all of its "innovative" features. After a dozen years, though, many of those "innovations" have been put to practical use in other operating systems while the Hurd continues to languish due to poor designs and politics. I've yet to see a good explanation of the compelling "innovations" contained in Hurd. The project ceased being relevant except to its developers at least 5 years ago. The only reason you hear about it these days is because the industry press seems to think that RMS speaks for the entire alternative (i.e. non-Microsoft) community and will publish whatever incoherent or irrelevant ramblings he chooses to utter.
It's maddening. And comical.