hello all, I am a newbie in the field of kernel. I have been trying to understand the working of vkernel reading into the source code and the documents, but i have not been able to understand certain concepts.
1) My first doubt is that when we create a virtual RAM by mmaping a file which is not synced back to the disk, is the kernel ie the vkernel inside the virual RAM or is it only in a different address space given to it by the linker??? I mean is the code and data of vkernel copied into the virtual RAM and then executed from there?? If yes which function does tht job?? 2) secondly i have not been able to understand the complex paging part of vkernel, by giving the mapping as MAPTYPE_VPAGETABLE how does real kernel map the vkernel page directory and table to itself, does it change the CR3 register to page directory given by vkernel when its scheduling the vkernel or any of vkernel's processes??? pls if anyone can explain me how paging is handled in vkernel?? I have read the document titled 'A Peek at the DragonFly Virtual Kernel' I have understood the process management part but having problems understanding the MM part ie paging... pls if anyone can help me in clearing the above doubts , i have been trying for many days but still havnt got the hook of it... Regards, Mehul