Page 1 of 1

Paging, Multitasking, help!!!

Posted: Fri Dec 16, 2005 7:32 am
by falconfx
Hello, folks!

I've just finished writing my virtual memory manager and it works very well. I've also managed to run user-space tasks and now I'm trying to implement a V86 monitor.

When I allocate some memory in the current address space, I don't know how to modify all the other ones. In practise, if I allocate some memory within the kernel's page directory, I want all the other tasks to use the same address in their own page directories.

Any suggestions?

Re:Paging, Multitasking, help!!!

Posted: Fri Dec 16, 2005 8:12 am
by Candy
falconfx wrote: Any suggestions?
1. Using PAE, make a shared PD for the kernel, giving it 1GB reserved for kernel global space
2. Synchronize your address spaces and make a function that adds it in all that exist
3. Share page tables for the kernel

Most of all, go use the global-bit if present, it speeds it up again.

Re:Paging, Multitasking, help!!!

Posted: Tue Dec 20, 2005 1:11 pm
by kataklinger
If you are willing to sacrify 1MB of memory you can map all page table for kernel space(from 0xc0000000 to 0xffffffff).