Processes and Communication (2)
Gary D. Duzan
Tue, 09 Mar 93 18:41:40 -0500
=>> The more functionality we move to objects, the more flexible the
=>> system becomes. Actually, it is theoretically possible to have a
=>> system with no kernel at all (given proper hardware protection
=>> mechanisms.) In such a system, everything is just a piece of code.
=>> That would be the ultimate in system flexibility. Of course, since
=>> it is a terribly radical idea, a lot of people (including many on
=>> this list :-) won't care for it. I can live with that. :-)
=>Please expound -- this could be interesting and possibly worth doing ...
I'm mainly thinking about something like the system described in the
paper "A Micro Kernel Architecture for Next Generation Processors",
presented in Proceedings of the USENIX Workshop on Micro-Kernels and
Other Kernel Architectures, and "Coordination Languages and their
Significance", presented in Communications of the ACM, February 1992
(Volume 35, Number 2.) In case you haven't read these articles (which
is likely, I suppose, given the audience (no offense intended -- I'm
just an OS research weenie)) I'll ramble a bit again.
Imagine a system that automatically changes the protection level
when the code enters a particular code area. Each protected block of
code would provide a special block of memory containing jump
operations. This block would allow other code to execute it, and
executing it causes a protection switch, so when the CPU hits the jump
target, the processor will be executing with a new set of rights.
Hence, communication would be via normal function calls. Even if this
communication mechanism isn't used, any secure communication method
between entities with different protection levels would suffice for a
complete system. One entity could have memory allocation rights, while
another might have access to a particular device, while others may
provide high-level services. Accessing these resources is simply a
matter of communicating with the entities that provide them.
Please keep the flames down to simmer; this is all hypothetical/
theoretical stuff, and won't necessarily apply to MOOSE. However,
there may be some ideas we can use in there somewhere.
Humble Practitioner of the Computer Arts