Runtime invariance (was: Re: What is a kernel?)

Thomas M. Farrelly
Thu, 19 Aug 1999 17:53:32 +0200

Jason Marshall wrote:
> "Thomas M. Farrelly" wrote:
> > One important point in TUNES is fine grain modularity. I don't see how a
> > monolithic kernel could be fine grained. Wouldn't that be no kernel at
> > all, or even, dependent on our definition of kernel, a micro kernel with
> > some framework added.
> It can't, but it is my belief that a kernel isn't necessary.  I have been
> formulating
> techniques (someone may well have beaten me to this punch, I really need to do
> some in-depth searching on this) for turning loosely-coupled, dynamically loaded
> code
> into a, well, a temporary monolith, through the idea of runtime invariance.

The point of bringing up A(C,O) was to say something about that, ...

> Runtime invariance, in a nutshell (and by my definition), is a special case of
> low-volatility
> variables within a system of objects.  Many robust, modular systems have sets of
> features
> the user (be it human, or another object) never use, either in a global frame, or
> within a
> certain class of usage, and yet they pay a premium to have those features
> available.  A fully introspective system should, over time, be able to determine,
> for instance, that the computer
> has only one hard drive, so it can eleminate a number of enumerations and thread
> safety constructs and just assume one drive.  It should be able to determine that
> the user is using
> iso-latin1 ubiquitously, and short-circuit Unicode support within the system,
> For the 'highly unlikely' contingencies, one can set write-barriers in appropriate
> places (this may require some avoidance of mutator inlining)

... without getting into all those details :)

    Thomas M.  Farrelly