Hello L4 hackers 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.
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. Thank you very much for kindly answering
Best Reguard YuFen Chang National Tsing-Hua University
Hi,
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.
- 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
l4-hackers@os.inf.tu-dresden.de