[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