Hi

I did alot of reading lately. And I wanted actually to write an email 
about the need to implement
a basic memory manager ASAP even if there is no GC or a way to free the 
memory, for the
beginning.

Another thing that I thought about lately was about including the 
metadata into the binary so that
I can start the work on reference types. But that again needs the memory 
manager to allocate
the objects on the heap.

I don't want to talk the importance of the scheduler down, or the work 
that Sander van Rossen 
did (which is fantastic). But we should concentrate more on the Memory 
Manager, as
a single threaded/single process for the 0.0.1 release is ok, IMHO.

Chriss.

PS: The AOT generates now a PE for the kernel only. Generating PE for 
other purposes is
possible, though there are a couple of things that are still missing 
(e.g. relocations and so on).

Chriss.

Sander van Rossen wrote:
> On 9/23/07, Bruce <[EMAIL PROTECTED]> wrote:
>   
>> Hello everyone:
>>
>> As I was looking over the kernel, and re-reading some x86 documentation, a
>> few issues have piqued my interest: paging, memory management, and garbage
>> collection. I know that xfury has done preliminary work in all three of
>> these areas, but I'm wondering, where are we going with this?
>>     
>
> You bring up a good point, we really need a design.
> I'm already experimenting a bit with a scheduler to try out some ideas.
>
>   
>> Basically, what I'm trying to get an idea of, is what the pipeline for
>> malloc() and free() calls, (generated by the AOT to provide runtime support
>> for the VM.) We have three ways in which this memory allocation is needed:
>> For EIC code in the kernel (such as string buffers for the Console support
>> of the demo kernel), for letting AOTed EDC code run in the kernel (so that
>> we can get korlib, and eventually the VM, off the ground), and for managed
>> JITed code.
>>     
>
> I'm not so sure if it's a good idea to have multiple layers of memory managers
> (meaning, paging, malloc/free, garbage collection), because every
> layer will create extra overhead..
> On the other hand it seems useful to me to have different garbage
> collection algorithms for different applications..
> (In fact, singularity compiles a garbage collector with each
> application in a whole program optimization phase)
> And we need a way to separate memory from one application to another.
> We also need a way to transfer memory (and copy objects) from one
> application to another for IPC, which is also a very important part
> which we need to design because we'll need to to abstract the drivers
> and applications from the kernel.
>
> There are a lot of things that we could/should abstract, such as the
> scheduler algorithm, the garbage collector, the drivers (obviously)
> etc.
>
> It seems to me that we really could use vtable support in the engine
> (as well as memory management), then we can finally stop hacking
> around the many limitations that we have right now.
> (exception handling would also be nice, but we can do without for a while)
>
> By the way, can the AOT also build non-kernel executables?
> We could, for the time being, add AOT compiled applications to the
> kernel as resources which we could then run in the kernel for testing
> (when scheduling works)
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2005.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> SharpOS-Developers mailing list
> SharpOS-Developers@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/sharpos-developers
>
>   


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
SharpOS-Developers mailing list
SharpOS-Developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sharpos-developers

Reply via email to