Messages in this thread | | | Date | Sun, 20 Jun 1999 18:27:08 -0600 | From | yodaiken@chelm ... | Subject | Re: Some very thought-provoking ideas about OS architecture. |
| |
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/
| |