diff --git a/documentation/assets/memory/heap_map.webp b/documentation/assets/memory/heap_map.webp new file mode 100644 index 0000000..c1a4bb0 Binary files /dev/null and b/documentation/assets/memory/heap_map.webp differ diff --git a/documentation/memory.md b/documentation/memory.md index 51cf8c9..0741290 100644 --- a/documentation/memory.md +++ b/documentation/memory.md @@ -2,4 +2,9 @@ ## Pagination -To activate pagination you must put the physic [pd](./memory/page_directory.md) address in the cr3 register and 0x80000000 in the cr0 register. Now the [MMU](./memory/mmu.md) will translate your address \ No newline at end of file +To activate pagination you must put the physic [pd](./memory/page_directory.md) address in the cr3 register and 0x80000000 in the cr0 register. Now the [MMU](./memory/mmu.md) will translate your address + +### Our setup + +Cause create all [pt](./memory/page_table.md) 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. +![](./assets/memory/heap_map.webp)