[cap-talk] Piping capability communication, data vs. descriptor capability strengths
Jed Donnelley
capability at webstart.com
Fri Feb 27 03:21:13 EST 2009
cap-talk, e-lang,
I'd like to ask a question of the cap-talk/e-lang lists (please
include cap-talk in any replies). If this issue has been addressed
before, somebody can just point me to the discussion (sorry if I missed it).
One of the strengths of Unix style systems is (I believe) their
ability to "pipe" data among processes, e.g.:
ls -l | grep abc | sort > abc-files.txt
or perhaps:
intty wget <http://.>http://... | tr -u '\r' '\n' |
awk '!/^(Location|HTTP|--)/{if($0=="")print;else printf"%s\r",$0;fflush()}'
(something I just grabbed off the Web), etc.
In principle of course capability communication systems can provide
similar facilities for "piping" data between running programs.
However, what about "piping" capabilities? With capabilities as data
this seems to me relatively straight forward. After all, such
capabilities are simply data and can - perhaps with minimal escaping
or encoding - just flow through such "pipes". However, what about in
capability as descriptor systems?
Have there ever been such systems (e.g. E,
KeyKos/EROS/Coyotos/CapROS, etc.) that can effectively "pipe"
communication streams between running programs that include
capabilities? Perhaps supporting something like the Unix shell
piping syntax, but including capabilities in the communication for
tinker toy connections between working modules?
I'm not aware of any such mechanisms. Perhaps this is just my
ignorance. If there are such I'd like to hear about them.
Even in Unix I've heard that open file descriptors can be sent
through a pipe. If that's so, what's the syntax (e.g. as above) look
like? How are the descriptors sent and received specified (by the
sender on sending and by the OS on receiving to the receiver)?
This is an area where it has seemed to me that capabilities as data
have some advantages over capabilities as descriptors. If this isn't
true I'd like to hear more about how this aspect of capabilities as
descriptors work (e.g. in reference E or even in Unix with file descriptors).
Thanks for any time to respond.
--Jed http://www.webstart.com/jed-signature.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.eros-os.org/pipermail/cap-talk/attachments/20090227/4d0fcde9/attachment.html
More information about the cap-talk
mailing list