9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Russ Cox <rsc@swtch.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu>
Subject: Re: [9fans] MS Research reinvents Inferno?
Date: Tue, 13 Dec 2005 12:43:27 -0500	[thread overview]
Message-ID: <ee9e417a0512130943i35bfb952q8eece80ff581350@mail.gmail.com> (raw)
In-Reply-To: <1134493372.4921.0.camel@localhost.localdomain>

Singularity is as much like Inferno as it is like a Java OS.
It ships around bytecodes as the stored form of programs,
and that's where the similarities end.  They don't jit the code,
instead treating it as a high-level program and compiling it
with a traditional optimizing compiler.

Yes, they have channels for communication, but that idea
predates Inferno and Plan 9 by quite a bit.  Also, the channels
are two-way with defined protocols running on them (not just
message types).

The real new research in Singularity is how far they are pushing
type information into the deepest reaches of the system.

Some of the kernel core (i.e., the low-level assembly, the garbage
collector, the debugger) is written in unchecked languages,
but most of it (including, for example, the scheduler and all the
device drivers) is written in checked languages.  Safe device drivers
alone would fix a huge fraction of the Windows crashes.

They push the type-checking further in other areas too.
The channels are two-way, with defined protocols running over
them.  Each reference to a channel is marked as to which half
of the protocol it is expected to run, and then the code using the
channel is verified to make sure it respects the protocol as far
as receiving or sending at the right points in time, sending only
the allowed set of messages, and handling all the possible
messages received.

All this is toward the goal of reliability and dependability, as they
clearly state in the introduction.  Inferno and Plan 9 are reliable
mainly because they don't have many bugs.  Neither actually
take steps to providing some form of safety guarantees.
Plan 9 is running C code, and when Inferno is jitting, it doesn't
insert bounds checks on array references, so it can crash easily too.

There is more, but I suggest you actually read the paper instead
of dismissing it by saying "Plan 9" or "Inferno" at first glance.
I find this to be perhaps the ugliest side of 9fans.

Apologies to those who did read the paper.
Russ


  reply	other threads:[~2005-12-13 17:43 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-12-13  7:02 Skip Tavakkolian
2005-12-13  7:13 ` Devon H. O'Dell
2005-12-13  8:50 ` Oliver Bandel
2005-12-13 15:04   ` Kenneth Long
2005-12-13 12:26 ` Sergey Zhilkin
2005-12-13 16:26   ` LiteStar numnums
2005-12-13 16:30     ` Paul Lalonde
2005-12-13 16:39     ` Brantley Coile
2005-12-13 16:53       ` Charles Forsyth
2005-12-13 17:54       ` Skip Tavakkolian
2005-12-13 16:49     ` Ronald G Minnich
2005-12-13 16:57       ` Lucio De Re
2005-12-13 17:02         ` alexandr babic
2005-12-13 17:43           ` Russ Cox [this message]
2005-12-13 17:56             ` Charles Forsyth
2005-12-13 20:19               ` Oliver Bandel
2005-12-13 20:52                 ` David Leimbach
2005-12-14  2:12                   ` Oliver Bandel
2005-12-14  2:19                     ` andrey mirtchovski
2005-12-14 10:02                       ` Richard Miller
2005-12-14  4:01               ` Bruce Ellis
2005-12-13 17:56             ` Charles Forsyth
2005-12-13 18:07               ` alexandr babic
2005-12-14  0:02               ` Steve Simon
2005-12-14  9:42                 ` Richard Miller
2005-12-14 10:09                   ` C H Forsyth
2005-12-13 18:16             ` William Josephson
2005-12-13 20:46               ` David Leimbach
2005-12-13 21:05                 ` Brantley Coile
2005-12-14  2:05                   ` Oliver Bandel
2005-12-13 18:45             ` Brantley Coile
2005-12-13 18:50               ` Russ Cox
2005-12-13 18:55                 ` andrey mirtchovski
2005-12-13 19:02                   ` Russ Cox
2005-12-14  6:30                     ` Jack Johnson
2005-12-14  7:16                       ` Jack Johnson
2005-12-14 10:07                         ` Richard Miller
2005-12-13 20:49                   ` David Leimbach
2005-12-13 22:09                     ` Skip Tavakkolian
2005-12-13 21:20                       ` LiteStar numnums
2005-12-13 21:54                       ` David Leimbach
2005-12-13 20:18             ` Oliver Bandel
2005-12-14  5:56             ` Jack Johnson
2005-12-14  6:02               ` Lucio De Re
2005-12-14  9:50                 ` Steve Simon
2005-12-14  6:05               ` andrey mirtchovski
2005-12-14  6:14                 ` andrey mirtchovski
2005-12-14  9:28                 ` Russ Cox
2005-12-14  7:29               ` Andriy G. Tereshchenko
2005-12-14 14:49               ` Brantley Coile
2005-12-14 10:11             ` Richard Miller
2005-12-14 11:00               ` Russ Cox
2005-12-14 12:47                 ` erik quanstrom
2005-12-14 15:06               ` Brantley Coile
2005-12-14 16:20                 ` C H Forsyth
2005-12-14 22:00                   ` David Leimbach
2005-12-13 17:14       ` David Leimbach
2005-12-13 18:13         ` Ronald G Minnich
2005-12-14  3:05           ` erik quanstrom
2005-12-13 17:43       ` Wes Kussmaul
2005-12-13 18:04       ` Bakul Shah
2005-12-13 18:15         ` Ronald G Minnich
2005-12-13 20:04     ` Oliver Bandel
2005-12-14  5:02     ` Jack Johnson
2005-12-14 12:26       ` LiteStar numnums
     [not found] ` <000401c5ffe3$22447ce0$14aaa8c0@utelsystems.local>
2005-12-13 13:01   ` "Nils O. Selåsdal"
2005-12-13 16:36     ` Charles Forsyth
2005-12-14 15:42 Brian L.Stuart
2005-12-14 16:20 ` Paweł Lasek
2005-12-14 19:14 Brian L.Stuart
2005-12-14 20:06 Brian L.Stuart

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=ee9e417a0512130943i35bfb952q8eece80ff581350@mail.gmail.com \
    --to=rsc@swtch.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).