User: Password:
|
|
Subscribe / Log in / New account

Fine-grain virtualization

Fine-grain virtualization

Posted Jul 22, 2011 13:15 UTC (Fri) by civodul (subscriber, #58311)
In reply to: You can do the same with Linux by khim
Parent article: Signs of life from GNU Hurd

You are right that a full virtualization technique like KVM makes it possible to run a customized networking stack, file system, etc. without being root.

Virtualization is the key, but the main difference is granularity.

Each Hurd subsystem is virtualized, meaning that as long as you implement the subsystem's interface, you can replace the default subsystem instance. Compare this with running a complete GNU/Linux system in QEMU/KVM with its own file system image, etc.

The Hurd's approach allows for selected sharing. Just because process A uses a different networking stack than process B doesn't prevent it from accessing the very same files, communicating with B over a pipe, mapping pages from B's address space into its own, etc. Conversely, sharing among full-blown GNU/Linux VMs is much harder.


(Log in to post comments)

Fine-grain virtualization

Posted Jul 23, 2011 13:31 UTC (Sat) by khim (subscriber, #9252) [Link]

Each Hurd subsystem is virtualized, meaning that as long as you implement the subsystem's interface, you can replace the default subsystem instance.

This is the sales pitch I've first hard about 20 years ago - before I've heard about Linux, in fact.

Compare this with running a complete GNU/Linux system in QEMU/KVM with its own file system image, etc.

Huh? You mean HURD does not need it's own "QEMU/KVM with its own file system image, etc"? News to me. Last time I've checked the only way to use it was to run it in QEMU/KVM because support for contemporary hardware was nonexistent and support for real world programs was abysmal.

Conversely, sharing among full-blown GNU/Linux VMs is much harder.

Sure, but sharing between Linux/MacOS/Windows and HURD is even harder - and this is the only actually available mode today.

If you want to push anything to someone other then "developers who want to dig deeper into system development" you must have:
1. Decent hardware support (including 3D, plug-and-play and all that), or
2. Some unique server software which does not have analogues under Linux.

1 is hard requirement for desktop, 2 is hard requirement for server (a lot of hostings nowadays use KVM anyway so hardware support is not as important but since you need to pay for the privilege each month... you need some substantial benefits to even contemplate the switch).

Fine-grain virtualization

Posted Jul 23, 2011 14:02 UTC (Sat) by jrn (subscriber, #64214) [Link]

> If you want to push anything to someone other then "developers who want to dig deeper into system development" you must have:

Who mentioned wanting that? (Note that there are other ways than programming to help develop, of course, like contributing documentation or reporting bugs.)

This is what started the whole discussion...

Posted Jul 24, 2011 8:14 UTC (Sun) by khim (subscriber, #9252) [Link]

> If you want to push anything to someone other then "developers who want to dig deeper into system development" you must have:

Who mentioned wanting that? (Note that there are other ways than programming to help develop, of course, like contributing documentation or reporting bugs.)

Huh? Are you joking? This is what started the whole discussion:

Sadly, the conclusion of the article (that GNU/Hurd is for "for developers who want to dig deeper into system development") dismisses this aspect.

IMNSHO conclusion is quite correct: HURD is not ready for "normal geeks" (let alone "normal users"). Right now it's only useful for someone who believes in it and wants to help development.

This is what started the whole discussion...

Posted Jul 25, 2011 0:05 UTC (Mon) by jrn (subscriber, #64214) [Link]

>> Who mentioned wanting that?

> Huh? Are you joking? This is what started the whole discussion:

No, I wasn't joking. Thanks for explaining.

If you had said "Though that might be its goal, I don't believe the hurd gives users and programs even close to as much control over their computing environment as possible today", I don't think anyone would have disagreed.

Fine-grain virtualization

Posted Jul 23, 2011 22:59 UTC (Sat) by sthibaul (subscriber, #54477) [Link]

It seems like you just refuse to admit anything.

Making a point about "baah you need to run in KVM anyway" does not make sense.

*Obviously*, hardware support, right now, is a concern. But really it's a detail, and using it as an argument does not make sense. Yes, a big detail. but it's mostly about plugging existing drivers, is already being worked on, is already working for network boards, is now being integrated, and will probably continue with disks.

You have to start with something. Writing drivers doesn't provide any interesting to code on and talk about. Writing translators does. Writing both at the same time is really not reasonable. Throwing a model just because the implementation lacks some driver does not make sense.

Why it does not make sense?

Posted Jul 24, 2011 9:12 UTC (Sun) by khim (subscriber, #9252) [Link]

Making a point about "baah you need to run in KVM anyway" does not make sense.

Of course is does! Remember the context. You are trying to "sell" HURD to someone other then "developers who want to dig deeper into system development". This means they are not interested in the virtual possibilities. They want to use HURD here and now. And here and now KVM is just as much part of HURD development as it is part of Linux kernel development.

Yes, a big detail. But it's mostly about plugging existing drivers, is already being worked on, is already working for network boards, is now being integrated, and will probably continue with disks.

It's nice to know it's "already being worked on". When you'll finish it you'll need to fix the programs (because few developers will want to install HURD to do so), then you'll have a case for someone other then "developers who want to dig deeper into system development". Lot's of work - and looks like too few people to do it.

Throwing a model just because the implementation lacks some driver does not make sense.

Throwing model? Of course not. Throwing the implementation? This makes perfect sense.

I think HURD developers forget the main principle of IT: Good Enough (sometimes formulated as Worse is Better). Linux is used everywhere because it's
  1. Good enough.
  2. Cheap, familiar and well-known.
Note that "everywhere" means "everywhere where Windows is not used" (on servers Linux replaced UNIX not Windows). If you believe HURD should replace Linux (or any other OS) at some point you should explain what unique feature of HURD will push this switch and to do that you need to explain why anyone will care about said feature enough to ignore existing deficiencies.

Decide for yourself: do you want to push HURD as real OS (then it competes with FreeBSD, Linux, and Windows - and you need to concentrate on drivers and real applications) or do you want to push it as toy/learning OS (then it competes with Minix, Plan9 - you need to concentrate on documentation and learning courses).

HURD enthusiasts often looks as Esperanto enthusiasts: they preach the "bright future" where everyone will use HURD (or Esperanto) and positively refuse to talk about reality (which does not give you real reasons to believe said "bright future" will ever materialize).

Why it does not make sense?

Posted Jul 24, 2011 13:15 UTC (Sun) by civodul (subscriber, #58311) [Link]

Hey, funnily I happen to be an Esperanto enthusiast too! :-)

(BTW, sorry I wasn't clear in my initial comment: I didn't mean to say that GNU/Hurd is Ready for the Desktop, obviously, but rather that it's *designed* with user freedom in mind as opposed to being merely a toy for "developers who want to dig deeper into system development".)

Why it does not make sense?

Posted Jul 27, 2011 18:03 UTC (Wed) by kingdon (guest, #4526) [Link]

Mi vidas ke la esperanta vikipedio havas artikolon pri Hurd, ĉe http://eo.wikipedia.org/wiki/Hurd

And since google translate doesn't (yet :-)) have esperanto: I see that the esperanto wikipedia has an article on Hurd, at http://eo.wikipedia.org/wiki/Hurd

Why it does not make sense?

Posted Jul 24, 2011 16:39 UTC (Sun) by sthibaul (subscriber, #54477) [Link]

> You are trying to "sell" HURD to someone other then "developers who want to dig deeper into system development".

Ooops, no, as civodul explained, there's a misunderstanding here. We are not targeting end users yet. We target at providing more power to end users. And now that Debian GNU/Hurd is quite easy to install, we welcome developers who want to help in that direction.

Also, we don't really aim at replacing Linux. Linux is "good enough", indeed, and does it well. The Hurd simply wants to try to be yet better in some aspects, which we have already explained.


Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds