a no-kernel system

Chris Harris chharris@u.washington.edu
Mon, 19 Dec 1994 18:20:36 -0800 (PST)


  Fare writes:

  Thus, for efficiency reasons, such small objects won't be
  implemented as separate system objects, but as subobjects of some common
  system object (commonly called "process"). Now, the processes must 
  implement
  all the logic to manage the small objects; and they may even have to
  implement all the necessary communication package to pass these objects
  through the system to other system objects; that is, those process will
  have to reimplement a better system on top of the OS. Processes must also
  ensure themselves the integrity of smaller objects and all kind of access
  rights.

These "processes" you speak of are obviously not the same as the normal 
view of a process (thread of control).  What then are they?

What are system objects?  If the "system" supports heavy-grained objects, 
doesn't the low-level collection of objects which supports so-called system 
objects become a "kernel" of themselves?

Can these sub-objects contain sub-objects of their own, or is it a simple,
2-level system?

  We'll then say that the
  objects use the same protocol, and the way the dynamic linker
  recognizes what object protocols will be called the (well, a)
  meta-protocol.

What sort of protocols will these be?  How will they be implimented?  How 
can we completely remove a kernel and still have these protocols be 
consistant with GC and VM?


Don't get me wrong here; I like the general concept, but I can't see how 
you plan to make it work.

"If patterns of 1s and 0s were 'like' patterns of human lives and death,
if everything about an individual could be represented in a computer by a
long string of 1s and 0s, then what kind of creature would be represented
by a long string of lives and deaths?"  --Thomas Pynchon