Paging, Again :(
Posted: Tue Jul 08, 2008 3:06 pm
I'm asking again help about paging.
At this time, my OS, boot and load correctly a page Dir and page table, so i'm in paged mode.
I'm blocked here, because i don't know how to proceed.
Now what things i have to program next?
It's strange, globally i know what i have to program, a memory allocator, several utility functions for page managing, function for copy kernle into a new pageDir/pageTable but i'm still confused.
In other words, after creation of the first pageDir, pageTable, function that enables it, what are the next things to do.
(i have already enabled paging)
I have to start thinking at a malloc function? Or it is too early.
I have to write first page fault function? Or i need first to create an allocator?
Exactly how a malloc function work? It require an address to paging memory manager, and obtain it, after when i try to access that location a page_fault occur, and i have to map that address (requiring a page to physical memory manager)?
It is correct?
I read several tutorials (also JamesM tutorial), but i'm still confused.
In jamesM tutorial for example, he use a variable placement_address, but what is it start address? The variable end (declared in ld script file) which start value is supposed to have?
I hope yuo may help me.
P.S Once again, sorry for my english (i restart to study it )
At this time, my OS, boot and load correctly a page Dir and page table, so i'm in paged mode.
I'm blocked here, because i don't know how to proceed.
Now what things i have to program next?
It's strange, globally i know what i have to program, a memory allocator, several utility functions for page managing, function for copy kernle into a new pageDir/pageTable but i'm still confused.
In other words, after creation of the first pageDir, pageTable, function that enables it, what are the next things to do.
(i have already enabled paging)
I have to start thinking at a malloc function? Or it is too early.
I have to write first page fault function? Or i need first to create an allocator?
Exactly how a malloc function work? It require an address to paging memory manager, and obtain it, after when i try to access that location a page_fault occur, and i have to map that address (requiring a page to physical memory manager)?
It is correct?
I read several tutorials (also JamesM tutorial), but i'm still confused.
In jamesM tutorial for example, he use a variable placement_address, but what is it start address? The variable end (declared in ld script file) which start value is supposed to have?
I hope yuo may help me.
P.S Once again, sorry for my english (i restart to study it )