some question bout L4 memory management
adam at os.inf.tu-dresden.de
Thu Nov 7 23:51:27 CET 2013
On Thu Oct 31, 2013 at 16:47:38 +0800, yakijahn wrote:
> Now a days I am studying the memory manage Mechanisms of fiasco kernel and
> L4RE, and I have some questions:
> 1) I see that when a process need some memory, a dataspace will
> be invoked and MOE will retrieve pages from alloc_list as kernel mapping
> sender, and attach region to region map. if process free a region of
> memory , the region will be dettached from region map and link the memory
> back to alloc_list, right? The problem I hold is when and how memory be
> recycled when a process terminated ? Cause I didn't see system use
> alloc_list :: free() function when a process had ended, in the process I
> malloc() about 1 MB memory and didn't free them, but it seems that the
> memory pre-allocated not been link back to alloc list, could you please
> tell me when and how will system recycle these memory? If possible, please
> tell me which code folders is it there.
Moe is using garbage collection to reclaim resources such as memory.
Search for 'collect' in moe sources.
> 2) Could you please tell me where are codes(files) that responsible for
> process virtual memory space management, such as how vitual address be
> assigned to a variable or pointer. Sometimes i fell to an unhandled page
> fault when I free pointers, because the page fault address cant be find in
> region map.
The region manager is responsible to manage a task's address space. If
you have an invalid pointer, isn't it likely that your program might
just access some memory area it should not access?
Adam adam at os.inf.tu-dresden.de
More information about the l4-hackers