Memory Management and Paging confusion.
Posted: Thu Feb 08, 2007 4:15 am
I've spent a few weeks puzzling over memory management adn I just don't seem to get it. Here is what I've understood from it and I'd just like you to clarify if what I'm saying is true.
1. Memory management is used so that programs don't interfere with other programs memory.
2. One method of doing so is paging.
3. Paging uses page directories and page tables. A page directory is a list of page tables and a page table reference 4 mb of memory. A page directory references 4 Gb of memory.
That is what i have understood so far. However if a bootloader creates a page directory adn 2 page tables. It then loads the kernel at memory location 0xFF800000 which is mapped to 0x00100000. If I were to have a kernel function that creates a page directory would it be created in physical memory or would it be created in the page that the kernel is currently in? Could I overwrite the page directory the bootloader creates? The bootloader I am using is BOOTF02. I hope you can help me.
1. Memory management is used so that programs don't interfere with other programs memory.
2. One method of doing so is paging.
3. Paging uses page directories and page tables. A page directory is a list of page tables and a page table reference 4 mb of memory. A page directory references 4 Gb of memory.
That is what i have understood so far. However if a bootloader creates a page directory adn 2 page tables. It then loads the kernel at memory location 0xFF800000 which is mapped to 0x00100000. If I were to have a kernel function that creates a page directory would it be created in physical memory or would it be created in the page that the kernel is currently in? Could I overwrite the page directory the bootloader creates? The bootloader I am using is BOOTF02. I hope you can help me.