On Tue, Aug 5, 2008 at 12:38 PM, Zachary Gorden
<[EMAIL PROTECTED]> wrote:
> In response to Sander:
>
> A valid point, regarding the reserved space.  However, I was thinking that
> the drivers were also restricted to the upper 2GB with the kernel.
> Actually, this is the point where you guys tell me how you want to approach
> this separation of drivers thing.  After all, sticking all the drivers into
> their own address space is not the way to go in my opinion.  Minix does this
> and they suffer a 20% performance penalty in the process.  I don't fully
> understand how Singularity does it, so, yeah.  After all, the point of
> Singularity's design was to avoid that penalty.

Right, i was still thinking about a single adress space like solution
like singularity..


> I talked to a friend of mine who has a better idea of how GCs work.
> Apparently GCs do not care whether their heaps are paged out or whether
> there's a lack of physical pages.  It's entirely possible for it to try to
> sweep heaps that are completely paged out, causing performance issues and
> etc.

Right, and i was talking about those performance issues, sorry for not
being clear.


> I expect each appdomain to have its own.
> But since the 2GB range (or whatever it ends up being) for the application's
> personal usage is separate for each appdomain anyways, then what's the
> problem with shifting all responsibility to the GC and the managed heap?

define "all responsibility" :)


> Well, originally I was thinking about an all or nothing approach.  But to be
> perfectly honest, appdomains sharing address spaces have almost nothing to
> do with the work I need to do in the lower levels.  I'm just providing the
> ability to create address spaces for each appdomain.  The MM provides the
> services and people implementing the higher level stuff can worry about
> keeping things straight.  Correct me if there is something I need to take
> into consideration though.

If multiple appdomains share the same adress space then they would
also share the 2GB limit...
I *suppose* technically it would be possible to start putting those
appdomains into multiple adress-spaces the moment we detect that that
2 GB isn't enough.
Hmm... interestingly, if we could get *that* to work, then we could
then easily extended that to -all- appdomains.
Meaning that as long as all appdomains stay within the 4GB footprint,
we'd only use one address-space...
Each appdomain has it's data already seperated from other appdomains,
so that would definitely help in this scenario..

Also, If the entire 'kernel' is always in memory, then we would also
never have to switch to another adress space when switching back and
from the kernel.

Of course all of this assumes we won't have any kernel rings.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
SharpOS-Developers mailing list
SharpOS-Developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sharpos-developers

Reply via email to