Re: Some very thought-provoking ideas about OS architecture.

yodaiken@chelm.cs.nmt.edu
Sun, 20 Jun 1999 18:27:08 -0600


On Sun, Jun 20, 1999 at 09:06:59PM +0200, Rik van Riel wrote:
> > - Most operations are going to be local.
>
> Optimizing for the local case doesn't mean that remote operations
> can't be made transparent. Because of latency problems, you are
> probably right though...

Esp true for mobile systems.

> > - Truly mobile computing implies that a noticeable portion of the time
> > you do _not_ want to be in contact with any other computers. Your
> > computer had better be a very capable one even on its own.
>
> It depends. If a computer is used as a way of getting at information,
> then you will want it to be connected. Mobile phones simply aren't
> very useful on the north pole, however well they might function on
> their own. Computing is more and more about communication and not
> about number-crunching or playing games -- which, I agree, can be done
> very well without network access.
>

But you better be able to do some smart and compute/store intensive
things to hide connect problems. If you are sitting in a plane, working
with a database reached over a series of erratic links, its wonderful
to be able to: 1) store a useful chunk of data locally so work does
not stop every time a packet is dropped, (2) do some serious compression
and encryption, (3) run a very smart routing daemon that looks for
alternative paths and perhaps even predicts where you will be so it can
setup connection in advance ...
So for serious work, you will want to compensate for interconnect problems
locally -- you want a "heavy" client. Fortunately, you will have Linux
on a DIMM with multiple processors ready to keep you going.

> > In short: message passing as the fundamental operation of the OS
> > is just an excercise in computer science masturbation. It may
> > feel good, but you don't actually get anything DONE.
>
> It can help achieve things we can't do with Linux:
>
> Upgrade (parts of) the OS while running.
> Since message passing objects are self-contained, you can
> replace them more easily than possible with 'classic' OSes.
> User process migration and other nice scalability and/or
> reliability tricks are also more easily done.

Can I suggest that you take a look at a couple of years of SOSP from
the early 1980s? All these things were in vogue, all ran into
intractable problems. Doesn't mean that changes in technology or smart
implementations won't ever make these ideas useful, but ...

As for the importance of message passing: just think of a message header
as a destination address and a collection of arguments and ...
subroutine calls are examples of message passing . Everyone knows that
dividing complex systems into parts is good. The mechanics of how you
connect those parts is a lot less difficult than figuring out what the
parts are.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/