[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Niche for the Hurd - summary 2 - niches sorted according to necessary wo
From: |
Arne Babenhauserheide |
Subject: |
Niche for the Hurd - summary 2 - niches sorted according to necessary work |
Date: |
Sun, 2 Nov 2008 14:33:05 +0100 |
User-agent: |
KMail/1.10.1 (Linux/2.6.25-gentoo-r7; KDE/4.1.1; x86_64; ; ) |
Hi,
I sorted the niches according to the amount of work necessary to get
into them.
Please comment (even if it's only a short sentence to one of the
niches)!
The interesting part is, that I didn't find any unfeasible idea...
-
http://www.bddebian.com/~wiki/community/weblogs/ArneBab/niches_for_the_hurd/
Reality check
-------------
Check which of the ideas can already be done easily with the Hurd in
its current state, which ones are a bit more complex but already
possible, which ones need a bit of coding (could be accomplished in a
few months judging from the current speed of development), which
ones need a lot of work (or fundamental changes) and which ones
aren't possible.
### Already possible and easy
- Sample translators:
* hello world.
* transparently bind FTP into the filesystem
* hostmux + ftpfs -> connect to FTP automatically via asking for a
dir named after the hostname -> fully transparent FTP filesystem:
"touch ftp: ; settrans ftp: /hurd/hostmux /hurd/ftpfs / "
* bind any filesystem at any place in the filesystem (you have
access to) without needing to be root.
* elegantly mount iso images and similar as unprivileged user.
- Other useful stuff:
* Install deb-packages from an ftp server via 'dpkg -iO
ftp://foo/bar/*.deb'
- Having a complete GNU System (but not yet on every hardware, and
only about half the software Debian offers has been ported).
### Already possible but complex or underdocumented
- Easier access to low-level functions via translators.
- Operating system study purposes as it's done with minix.
- Tinkering for fun - need documentation about the fun things which
can be done.
### Need a few months of coding
- A filesystem-based package manager.
- A framework for confining individual applications is really just one
possible use case of the hurdish subenvironments. Writing the tools
necessary for that should be quite doable in a few months. It's probably
not really much coding -- most of the work would be figuring out how it
should be set up exactly.
- Running parts of the Hurd on different computers, maybe even with
shared servers on dedicated hardware (Cloud Computing when the
servers can be made to migrate from between computers). Maybe this
should be placed in "need a lot of coding".
- subhurds for quickly adapting the whole system without bothering
others.
- Define your personal environment via translators, so you can easily
take it with you (translators written in scripting laguages can make this
easier - they could also for example be taken to each computer on
USB stick).
- A more powerful alternative to FUSE filesystems: While FUSE is
limited to standard filesystem semantics, while Hurd translators can
implement whatever they want.
It is possible to change the behaviour in any aspect, including the way
file name lookup works. Admittedly the only specific use case I know is
the possibility to implement namespace-based translator selection with
a set of normal translators, without any changes to the Hurd itself.
It is also possible to extend the filesystem interfaces, adding new
RPCs and options as needed. This allows using the filesystem for
communication, yet implementing domain-specific interfaces where
standard filesystems are too unefficient or cumbersome. A sound
server would be one possible use case.
- Namespace based translator selection (if you for example want to
quickly check the contents of an iso image, just look at them via 'ls
image.iso,,iso9660fs').
### Need a lot of coding or fundamental changes
- Effective resource management (For example via Viengoos on which
Neal Walfield is working). The idea is that we could make a virtue out
of necessity: Once we have a proper resource management
framework, we should be able not only to catch up with traditional
systems in this reagard, but in fact surpass them.
- The possibility to create more efficient and powerful desktop
environments.
- Multicore systems (need to fixup Mach for SMP)
- Currently to offer CPU time to some project (like the World
Community Grid), it is necessary to install a program from them, and
they can then do only what that proram allows them to - which leads to
reinventing a processing environment instead of just using the existing
OS.
With the Hurd people could just create a user for them, give that user
specific permissions (like "you're always lowest priority"), add the
public ssh keys of the project they want to donate CPU cycles to, and
the project could just turn the computer into the environment it needs
for the specific computation, without compromising the main system in
any way.
- A shared MMORPG game world consisting simply of files for levels
and person descriptions with access rights. All synchronizing is done
on the translator level. Programs only have to display the given files
and quickly update the state of their own files, so the programs stay
very easy. The translator could notify the program when something
changes.
Does this cathegorization fit? Or did I put some things into the wrong
cathegory?
Best wishes,
Arne
--
-- My stuff: http://draketo.de - stories, songs, poems, programs and stuff
:)
-- Infinite Hands: http://infinite-hands.draketo.de - singing a part of the
history of free software.
-- Ein Würfel System: http://1w6.org - einfach saubere (Rollenspiel-)
Regeln.
-- PGP/GnuPG: http://draketo.de/inhalt/ich/pubkey.txt
signature.asc
Description: This is a digitally signed message part.
- Niche for the Hurd - summary 2 - niches sorted according to necessary work,
Arne Babenhauserheide <=