[unios] Re: Generic design. More comments

Pieter Dumon Pieter.Dumon@rug.ac.be
Thu, 17 Dec 1998 19:21:07 +0100 (MET)


From: Pieter Dumon <Pieter.Dumon@rug.ac.be>

> 
> From: Pat Wendorf <beholder@ican.net>
> 
> > > mOS needs a kernel to implement the most basic stuff, like memory managment
> > > and system calls. The kernel need to be there, only that it is small and
> > > has delegated most jobs to ordinary processes.
> >
> > We can use a "no-kernel" design. All hardware, so cpu and memory too,
> > is abstracted by an object each, running in a seperate memory space etc.
> > This would make it all very flexible, and probably stable, but not fast.
> 
> Give an opcode timing example if you can... I'd like to know how much it would
> slow it down.  This would be interesting to find out, if it is only a few hundred
> instruction per task switch (vs. about twenty or thirty with a kernel), then I
> don't think it will be too bad.  But if we are talking thousands of instructions
> to handle it, we are gonna run into a massive speed hit.
> 

It's not related to instruction timing or extra instructions. But if you
put every part of the kernel in a seperate memory space, every time you
have to access a part of the kernel, memory spaces must be switched. On
the x86, this means a page directory switch wich might invalidate the
cache if it is not big enough, and it means a too large amount of segment
permission checking.
If you put the whole kernel (microkernel) in every user process's memory
space, only a code segment and a data segment must be switched on the x86.


Pieter
 
----------------------------------------
 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