Files
42_KFS/documentation/memory.md

937 B

MEMOMY

Pagination

To activate pagination you must put the physic pd address in the cr3 register and 0x80000000 in the cr0 register. Now the MMU will translate your address

Our setup

Cause create all pt will cost 3MB (768 * 1024 * 4, 768: cause is our heap limite, 1024: cause each pt contains 1024 entry and 4: cause size of pte is 4byte) we decided to create it on the heap and dynamically. So the first pt of the pd (pd[0]) will contain a default_page_table (or heap_pt). Each page create by each the heap_pt will be a pt added to the pd.

Page Directory

Name Addresss
0 left empty so read or write on NULL triggers an interrupt
1-767 user process allocations
768 kernel code and stack
769-1020 kernel allocations
1021 VBE screen
1022 frame allocator variables
1023 multiboot