From 1e67a761cbfa94a69cec2f5709d23d7983cd0fc1 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 25 Nov 2010 11:55:21 +0100 Subject: Talk about advantages, challenges, how many developers, why so few developers. --- open_issues/benefits.mdwn | 86 --------------------- .../benefits_of_a_native_hurd_implementation.mdwn | 87 ++++++++++++++++++++++ ...implementing_hurd_on_top_of_another_system.mdwn | 45 +++++------ open_issues/multiprocessing.mdwn | 18 ++--- 4 files changed, 119 insertions(+), 117 deletions(-) delete mode 100644 open_issues/benefits.mdwn create mode 100644 open_issues/benefits_of_a_native_hurd_implementation.mdwn (limited to 'open_issues') diff --git a/open_issues/benefits.mdwn b/open_issues/benefits.mdwn deleted file mode 100644 index da1248c8..00000000 --- a/open_issues/benefits.mdwn +++ /dev/null @@ -1,86 +0,0 @@ -[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -[[!tag open_issue_documentation]] - -What are the benefits of a native GNU/Hurd system, now that Linux et al. can do -so much (think [[hurd/translator]]s: FUSE, [[hurd/subhurd]]s: User-Mode-Linux, -etc.). - -It is possible to begin [[implementing_Hurd_on_top_of_another_system]], but... - -IRC, #hurd, August / September 2010 - - ArneBab: but Neal and I were not happy with that alone. We were - looking for deeper improvements to the system, for, I think, sound reasons. - That is what brought us to the L4/Coyotos technologies - ArneBab: as you are writing a kernel in user space, you can still do - kernel improvements there - ArneBab: if you take it very far, you end up with a kernel that runs - Linux in user space (just flip the two) for the drivers - ArneBab: that is what the L4 people did with the DDE - -([[DDE]]) - - ArneBab: so, with these different cuts, there are different - opportunities. on the one end, you can run Linux as normal and get some of - the Hurd features such as translators in some programs. At the other end, - you can do whatever you want and run some linux code for the drivers or none - at all. - ArneBab: one of the big questions then becomes: at which point can - the advantages offered by the Hurd be realized? - ArneBab: and that's not entirely clear to me - when I worked on this with Neal, we pushed further and further into - need-to-change-everything land - while the current efforts on the Hurd seem to be more equivalent to - the could-run-it-in-userspace-on-top-of-Linux camp - marcusb: for that I think we need a way to move towards them step by - step. Would it be possible to get the advantages of better resource - allocation with a Viengoos in userspace, too? - and when that is stable, just switch over? - ArneBab: I don't know. I suspect these people will know before us: - http://lxc.sourceforge.net/ - something like implementing flip points: flip Linux with Hurd to Hund - with Linux. Flip Mach with L4 to L4 with Mach. - lxc sounds interesting. - note that these efforts address security concerns more than other - concerns - so they will get isolation long before sharing is even considered - but some of the issues are the same - once you allow malware to do what it wants, it's a small step to also - allow the user to what he wants :) - it kinda looks like hacking it where it doesn’t really fit again… - there I ask myself when the point comes that doing a cleaner design - offsets the popularity - they are pushing more and more stuff into userspace - which is a good thing (to me) - it’s hard to clearly describe how, but even though I like having more - stuff in userspace, the way it is bolted onto Linux doesn’t feel good for me. - FUSE is cool, but if I use it, I am at a disadvantage compared to a - non-fuse user - while in the Hurd, these additional options are on eqal footing. - ArneBab: are they pushing more and more into user space? I don't - think so. I see more of the reverse, actually - or maybe both - FUSE, lxd and scheduling in userspace move to userspace - well, KMS moved to the kernel - to avoid flickering when switching between X and the console? - marcusb: Do you experience FUSE lxc and such being secondclass in - Linux, too, or is that just a strange feeling of me? - marcusb: and that splits the users into those who can get stuff into - the kernel and those who can only work in userspace – which I don’t really - like. - That’s one more advantage of the Hurd: eqal footing for all (except - the Mach hackers, but they have a very limited terrain) - ArneBab: but UML kernel module is minimal, and Linus didn't have a - principled objection to it (but just wanted a more general solution) - ArneBab: as a side note, although people keep complaining, the linux - kernel seems to be growing steadily, so getting stuff into the kernel doesn't - seem too hard. 8-O diff --git a/open_issues/benefits_of_a_native_hurd_implementation.mdwn b/open_issues/benefits_of_a_native_hurd_implementation.mdwn new file mode 100644 index 00000000..34e49e86 --- /dev/null +++ b/open_issues/benefits_of_a_native_hurd_implementation.mdwn @@ -0,0 +1,87 @@ +[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag open_issue_documentation]] + +What are the benefits of a native GNU/Hurd system, now that Linux et al. can do +so much? Think [[hurd/translator]]s: FUSE, [[hurd/subhurd]]s: User-Mode-Linux +and other virtualization techiques, and so on. + +It is possible to begin [[implementing_Hurd_on_top_of_another_system]], but... + +IRC, #hurd, August / September 2010 + + ArneBab: but Neal and I were not happy with that alone. We were + looking for deeper improvements to the system, for, I think, sound + reasons. That is what brought us to the L4/Coyotos technologies + ArneBab: as you are writing a kernel in user space, you can still + do kernel improvements there + ArneBab: if you take it very far, you end up with a kernel that + runs Linux in user space (just flip the two) for the drivers + ArneBab: that is what the L4 people did with the DDE + +([[DDE]]) + + ArneBab: so, with these different cuts, there are different + opportunities. on the one end, you can run Linux as normal and get some + of the Hurd features such as translators in some programs. At the other + end, you can do whatever you want and run some linux code for the drivers + or none at all. + ArneBab: one of the big questions then becomes: at which point + can the advantages offered by the Hurd be realized? + ArneBab: and that's not entirely clear to me + when I worked on this with Neal, we pushed further and further + into need-to-change-everything land + while the current efforts on the Hurd seem to be more equivalent + to the could-run-it-in-userspace-on-top-of-Linux camp + marcusb: for that I think we need a way to move towards them step + by step. Would it be possible to get the advantages of better resource + allocation with a Viengoos in userspace, too? + and when that is stable, just switch over? + ArneBab: I don't know. I suspect these people will know before + us: http://lxc.sourceforge.net/ + something like implementing flip points: flip Linux with Hurd to + Hund with Linux. Flip Mach with L4 to L4 with Mach. + lxc sounds interesting. + note that these efforts address security concerns more than other + concerns + so they will get isolation long before sharing is even considered + but some of the issues are the same + once you allow malware to do what it wants, it's a small step to + also allow the user to what he wants :) + it kinda looks like hacking it where it doesn’t really fit again… + there I ask myself when the point comes that doing a cleaner + design offsets the popularity + they are pushing more and more stuff into userspace + which is a good thing (to me) + it’s hard to clearly describe how, but even though I like having + more stuff in userspace, the way it is bolted onto Linux doesn’t feel + good for me. + FUSE is cool, but if I use it, I am at a disadvantage compared to + a non-fuse user + while in the Hurd, these additional options are on eqal footing. + ArneBab: are they pushing more and more into user space? I don't + think so. I see more of the reverse, actually + or maybe both + FUSE, lxd and scheduling in userspace move to userspace + well, KMS moved to the kernel + to avoid flickering when switching between X and the console? + marcusb: Do you experience FUSE lxc and such being secondclass in + Linux, too, or is that just a strange feeling of me? + marcusb: and that splits the users into those who can get stuff + into the kernel and those who can only work in userspace – which I don’t + really like. + That’s one more advantage of the Hurd: eqal footing for all + (except the Mach hackers, but they have a very limited terrain) + ArneBab: but UML kernel module is minimal, and Linus didn't have + a principled objection to it (but just wanted a more general solution) + ArneBab: as a side note, although people keep complaining, the + linux kernel seems to be growing steadily, so getting stuff into the + kernel doesn't seem too hard. 8-O diff --git a/open_issues/implementing_hurd_on_top_of_another_system.mdwn b/open_issues/implementing_hurd_on_top_of_another_system.mdwn index 1d7a1e50..7e88e322 100644 --- a/open_issues/implementing_hurd_on_top_of_another_system.mdwn +++ b/open_issues/implementing_hurd_on_top_of_another_system.mdwn @@ -21,8 +21,8 @@ IRC, #hurd, August / September 2010 silver_hook: the Hurd can also refer to the interfaces of the filesystems etc, and a lot of that is really just server/client APIs that - could be implemented on any system that has transferable rights to message - capabilities. + could be implemented on any system that has transferable rights to + message capabilities. silver_hook: it's surprising how few systems *have* transferable rights, though! silver_hook: usually it is added as an afterthought @@ -33,23 +33,24 @@ IRC, #hurd, August / September 2010 youpi: it's described in the Stevens series even [...] ArneBab: well, let me put it this way. the Linux kernel has no - interface to manipulate another tasks's virtual address space, ie you can't - map/unmap stuff in another process - ArneBab: you would have to use ptrace and load some stub code in that - process to make that happen. - ArneBab: so for complete transparent manipulation, you need a kernel - module + interface to manipulate another tasks's virtual address space, ie you + can't map/unmap stuff in another process + ArneBab: you would have to use ptrace and load some stub code in + that process to make that happen. + ArneBab: so for complete transparent manipulation, you need a + kernel module that is what the User Mode Linux kernel module does - ArneBab: so say you use the User Mode Linux kernel module for that - one feature. Then you can do everything that User Mode Linux can do, which, - I assure you, includes running subhurds :) + ArneBab: so say you use the User Mode Linux kernel module for + that one feature. Then you can do everything that User Mode Linux can + do, which, I assure you, includes running subhurds :) it can be a bit tricky to implement those features, but it is not harder than writing a kernel in the first place - So, if I got an admin to install User Mode Linux and Mach emulation, - I’d get the flexibility (and independence from admin decisions) I have in the - Hurd? - ArneBab: one problem is that you still use Linux. For those who want - to get rid of Linux for political reasons, that would mean complete failure + So, if I got an admin to install User Mode Linux and Mach + emulation, I’d get the flexibility (and independence from admin + decisions) I have in the Hurd? + ArneBab: one problem is that you still use Linux. For those who + want to get rid of Linux for political reasons, that would mean complete + failure ArneBab: if you have UML kernel module, you can implement Mach in user space ArneBab: in fact, John Tobey did this a couple of years ago, or @@ -57,10 +58,10 @@ IRC, #hurd, August / September 2010 ([[tschwinge]] has tarballs of John's work.) - ArneBab: or you can just implement parts of it and relay to Linux for - the rest - the point is, that if you don't care for kernel improvements, and are - sufficiently happy with the translator stuff, it's not hard to bring the Hurd - to Linux or BSD + ArneBab: or you can just implement parts of it and relay to Linux + for the rest + the point is, that if you don't care for kernel improvements, and + are sufficiently happy with the translator stuff, it's not hard to bring + the Hurd to Linux or BSD -(Continue: [[benefits]].) +Continue reading about the [[benefits of a native Hurd implementation]]. diff --git a/open_issues/multiprocessing.mdwn b/open_issues/multiprocessing.mdwn index 7b4f2611..224c0826 100644 --- a/open_issues/multiprocessing.mdwn +++ b/open_issues/multiprocessing.mdwn @@ -11,7 +11,7 @@ License|/fdl]]."]]"""]] [[!tag open_issue_hurd]] We would expect that fine-grained, compartmentalized systems, that is, -microkernel-based multi-server systems in particular, would be ideal condidates +microkernel-based multi-server systems in particular, would be ideal candidates for applying multiprocessing. That is, however, only true from a first and inexperienced point of view: there are many difficulties. @@ -19,14 +19,14 @@ inexperienced point of view: there are many difficulties. IRC, #hurd, August / September 2010 silver_hook: because multi-server systems depend on inter-process - communication, and inter-process communication is many times more expensive - across cpus - silver_hook: so you either force interrelated work on the same cpu, - or suffer heavy penalties. and in a typical fine-grained object system, all - objects are interconnected! - silver_hook: resources in today's systems, even in a single node with - one cpu, but more so in a network, are very non-uniform. scheduling these - resources efficiently is a huge problem. restricting the resource + communication, and inter-process communication is many times more + expensive across cpus + silver_hook: so you either force interrelated work on the same + cpu, or suffer heavy penalties. and in a typical fine-grained object + system, all objects are interconnected! + silver_hook: resources in today's systems, even in a single node + with one cpu, but more so in a network, are very non-uniform. scheduling + these resources efficiently is a huge problem. restricting the resource distribution policies in the way microkernel systems tend to do is posing serious research challenges -- cgit v1.2.3