This thread is referenced by the FAQ
I'm still trying to get my head around all the MM stuff, I have a few questions
This is what I need to do, from what I understand (not in order):
1. I need to setup a page directory (probably at the end of my kernel?) and set up the page directory entries.
2. I need some assembly functions to load the page directory address into cr3, and set some bit in cr0.
3. I need to use a bitmap, stack or linked list approach to be able to tell if pages are used or not.
4. I need an allocator to mark pages as used and give the addresses to whoever requested it.
5. I need a deallocator (reverse allocation process).
6. I need a mapper that will map virtual pages to physical ones (page frames) ???. Still pretty confused here.
Can anybody correct me where I'm wrong?
Now this is where I'm really confused...
Is all what i've mentioned above for managing memory in kernel space? What about user space? Are you supposed to setup page tables or something for all of the physical memory? I don't really get this part at all... I'm probably babbling about nothing :-\
I still have other questions but I'll wait and see if they get answered, if I get replys to this.