I'm currently using recursive page tables for the OS I'm working on, but I'm probably going to change that. There are lots of different address spaces for different processes and (with IOMMU) devices, and it's nicer to be able to modify any of them rather than only the current one. I am leaning toward just assigning 2 MiB of memory to page tables at a time and keeping a mapping for these (I don't want to map all physical memory in the kernel for security reasons).
I found it very opaquely worded the whole way through. I think the work being presented is simply an implementation of the technique in eduos, but short of going and reading the paper I don’t know.
5 comments