[unios] Re: A Component Kernel Model
Pieter Dumon
Pieter.Dumon@rug.ac.be
Mon, 4 Jan 1999 11:15:05 +0100 (MET)
From: Pieter Dumon <Pieter.Dumon@rug.ac.be>
>
> From: OJ Hickman <hickman1@peak.org>
This is just 20-year old stuff. It's done by microkernels.
It's good stuff however. It's simply the design that offers stability and
speed etc. That's why it's used in today's kernels.
Pieter
>
> A Component Kernel Model
> By Omer James Hickman - December 28, 1998
>
> The basic function of the Component Kernel is to track
> component objects and the dependencies between objects.
> Objects are 1) Hardware Resource Block (HRB) - all hardware
> resources associated with a physical device (IO, ints, DMA),
> 2) Software Objects - actual program and library code (code
> segment, data segment, IPC ports, direct call relocation
> data). Driver software objects aquire HRB objects and then
> provide abstractions to the hardware independent objects.
>
> So the Component Kernel maintains databases of resources
> used by each device, all service objects available to the
> system, provide basic thread and memory management and cull
> unused objects. The HRB objects would be defined by simple
> configuration files read by the kernel.
>
> System diagram:
>
> User Level: +--------
> | ****************
> | * User Program *>*****
> | **************** *
> Service Level: +-------- | | *
> | ******************** *
> | *<* Service Object 1 * *
> | * ******************** *
> | * *
> | * ******************** *
> | * * Service Object 2 ***
> | * ********************
> Driver Level: +-*------ | | | (Hardware dependent)
> | * ***************** ************
> | *** Driver Object * * Driver 2 *
> | ***************** ************
> Hardware Level:+----- ! !
> | ************ ************
> | * Device 1 * * Device 2 *
> | ************ ************
> +-----
>
>
> Ledger: *** = IPC; | = interobject calls; ! = direct
> hardware manipulation (memory read/write, IO).
>
> Best as I could do in ASCII :)
>
>
> Threads start in and work from a 'home' software object.
> They can, via synchronized calling, call into other objects
> and have access to both the home and far objects
> datasegments at the same time. Libraries are just objects
> that have no threads in them or datasegment.
>
> Software Object interaction takes place by interobject
> calling and classic IPC systems in the kernel.
>
>
>
> I know this is much like what has been discussed, I hope
> this provides an idea for a simple workable OO kernel
> implamention.
> --
> _______________________________________________
> "Imagination is more important than knowledge."
> - Albert Einstein
>
> Omer James Hickman - hickman1@peak.org - ojh@hotmail.com
> http://members.tripod.com/~OJ_Hickman - updated 12/28/98
>
> ------------------------------------------------------------------------
> To unsubscribe from this mailing list, or to change your subscription
> to digest, go to the ONElist web site, at http://www.onelist.com and
> select the User Center link from the menu bar on the left.
> ------------------------------------------------------------------------
> UniOS Group
> http://members.xoom.com/unios
>
--
----------------------------------------
Pieter.Dumon@rug.ac.be
http://studwww.rug.ac.be/~pdumon
ICQ : 12428974
---------------------------------------
------------------------------------------------------------------------
To unsubscribe from this mailing list, or to change your subscription
to digest, go to the ONElist web site, at http://www.onelist.com and
select the User Center link from the menu bar on the left.
------------------------------------------------------------------------
UniOS Group
http://members.xoom.com/unios