add: documentation on the pde

This commit is contained in:
2025-11-12 16:29:13 +01:00
parent 34aa0f0eb4
commit a776a45f68

View File

@ -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. 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) ![](./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|