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