9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: rog@vitanuova.com
To: 9fans@cse.psu.edu
Subject: Re: [9fans] this is not an advocacy question
Date: Fri, 26 May 2006 15:29:31 +0100	[thread overview]
Message-ID: <3bc5f5191c3aaadeb1b46d76b436772b@vitanuova.com> (raw)
In-Reply-To: <200605260010.55740.corey_s@qwest.net>

the main technical difference is that inferno is designed to operate in a single,
flat memory space. it relies on a well behaved virtual machine to avoid processes
stamping on each others' memory (hence the use of Limbo rather than C - no difficult
pointer arithmetic to check). this avoids the need for an MMU, and also makes it easy
to run hosted under other systems without the poking around with page table entries.
it makes a number of things simpler (it goes without paging and swapping) and potentially
faster.

although i run plan 9 on my laptop, i have inferno on a USB keyfob which i can
plug into any random machine (windows, linux, ...) and get access to a relatively
sane environment. i use it to connect back to plan 9 machines, or to data-bridge
across uncooperative local networks. i'm using it now from a linux box to write
this email.

> ( is "Styx" just a renamed 9P2000? )

they differ in the way that authentication takes place, although the
protocols themselves are identical (as witness the fact that i'm now
doing a "cpu" from inferno to plan 9 i.e. plan 9 is importing a namespace
exported by inferno).

inferno's authentication is end-to-end, and takes place outside the protocol;
in fact it's protocol agnostic: once the authentication is done, all traffic
over the connection is secured, regardless of what's sent. the authentication
is public key based - the two parties involved mutually authenticate - no online
third party is required (nice when you're getting two random boxes to
talk to one another behind a firewall).

plan 9 relies on an accessible third party ("authentication server"); it
sometimes does in-band authentication (Tauth - not as secure, but historical),
and sometimes end-to-end.

if no authentication is used, there is no difference at all.

> Is it accurate to say that "Styx" is a conformant implementation
> of 9fs2000 that is written in Limbo rather than C? ( similar to v9fs
> under linux? )

being a protocol, Styx is not written in any particular language
(well, technical English, i suppose). programs that talk styx/9p
have been written in C, limbo, java, ...

> I've become very interested in distributed computing, as approached
> from a Plan9 perspective, and I am very much appreciating the general 
> "keep it small, clean/correct and focused" mentality/objective which 
> is very apparent.

when learning about the distributed systems aspects of inferno and plan 9,
most skills are transferrable.

having said that, i'd recommend learning limbo because it makes for a very
clean interface to the system. the concurrency aspects in particular are
compelling compared with the same interface in C, and when dealing with
distributed systems they're a real boon. IMHO it's a "sweet spot" language;
many aspects of the syntax and semantics are exactly right.

as geoff suggested, it's not a bad idea to try both.
whatever you do, enjoy! it's a nicely elegant world, and well worth playing
with, even if all you do is take away some of the good ideas and approaches
to doing things.


  parent reply	other threads:[~2006-05-26 14:29 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-26  7:10 Corey
2006-05-26  7:16 ` geoff
2006-05-26  8:48   ` Corey
2006-05-26  9:17     ` geoff
2006-05-26 14:29 ` rog [this message]
2006-05-26 17:39   ` David Leimbach
2006-05-30 11:02     ` rog
2006-05-30 15:06       ` David Leimbach
2006-05-30 15:14         ` rog
2006-05-30 16:26           ` David Leimbach
2006-05-30 16:36             ` Gabriel Diaz
2006-05-30 17:08               ` David Leimbach
2006-05-30 17:19                 ` rog
2006-05-30 23:37               ` LiteStar numnums
2006-06-01 16:32           ` rog
2006-06-01 16:50             ` David Leimbach
2006-05-27 20:08 ` Corey
2006-05-26  9:51 Fco. J. Ballesteros
2006-05-26 15:16 ` Latchesar Ionkov
2006-05-26 15:53   ` Skip Tavakkolian
2006-05-26 17:03     ` Latchesar Ionkov
2006-05-26 18:23 ` Roman Shaposhnick
2006-05-26 18:48   ` Francisco J Ballesteros
2006-05-26 19:00     ` Skip Tavakkolian
2006-05-31  3:19     ` Roman Shaposhnik
2006-05-26 17:32 erik quanstrom

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3bc5f5191c3aaadeb1b46d76b436772b@vitanuova.com \
    --to=rog@vitanuova.com \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).