diff --git a/documentation/memory.md b/documentation/memory.md index 0741290..24aca6c 100644 --- a/documentation/memory.md +++ b/documentation/memory.md @@ -8,3 +8,15 @@ To activate pagination you must put the physic [pd](./memory/page_directory.md) 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) + +### 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| \ No newline at end of file