some question bout L4 memory management

Adam Lackorzynski adam at
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

More information about the l4-hackers mailing list