My (probably deeply flawed) understanding is that much of the paging mechanisms implemented by Intel were basically bypassed or superceded by Windows and Linux. I'm hoping to find an explanation of how the tasks of paging and address resolution, etc. is divided between the processor and the OS.
Pagedirectories and pagetables in the x86 architecture contains physical addresses (with some flags), no indexes. Indexing is done by the linear address itself. Therefore (and I hate to say it) your explanation is somewhat flawed. Next, because all pages contain 4096 bytes, these physical addresses should honor these page boundaries. The 0x85 value in your example should therefore also be shifted by 12 (being 0x85000) and only then it's pointing to the right pagetable.
Such a great explanation
This is very valuable content, thank you!
Amazing content, thank you.
My (probably deeply flawed) understanding is that much of the paging mechanisms implemented by Intel were basically bypassed or superceded by Windows and Linux. I'm hoping to find an explanation of how the tasks of paging and address resolution, etc. is divided between the processor and the OS.
0000000111 = 7 (not 3). I Think you meant set only the 8th and 9th bit of the pd index.
You're right, at time 1:55, I show directory bits as 0000000111 and they should be 0000000011.
So in 4/5 level paging do we keep flags on each paging directory?
Off topic question, but are you actually writing all of this backwards?? That makes this hilariously impressive! Good video otherwise
Short answer: no. See th-cam.com/video/S-rDH4O5CsI/w-d-xo.html for details on how it is done.
Pagedirectories and pagetables in the x86 architecture contains physical addresses (with some flags), no indexes. Indexing is done by the linear address itself. Therefore (and I hate to say it) your explanation is somewhat flawed. Next, because all pages contain 4096 bytes, these physical addresses should honor these page boundaries. The 0x85 value in your example should therefore also be shifted by 12 (being 0x85000) and only then it's pointing to the right pagetable.
Never mind, did not watch the full video, where suddenly 12 bits are added to the table... :D