Re:Minimalist Microkernel Memory Management
Posted: Wed Jul 27, 2005 12:29 am
Greetings!
If you want less policy in your kernel, you could define a specialized paging interface, that your disk or filesystem drivers should support (but I start disliking this idea when I think of it...), but this would make the involved user space processes more like user-level pagers IMHO, what do you think?
cheers Joe
I think your kernel would at least need to define a block-io-interface, that every suitable disk driver (or filesystem driver, when doing block-io on files) needs to support, so that your kernel can swap out pages to it. From that point on, I would go straight ahead: On page fault, send a message to the desired driver, tell it to fetch the page from disk and fix the page fault. But make sure the disk driver won't cause a page fault on it's own.Let's say that I decide I don't need to have multiple pagers in user-space, and that I want most of memory management in the microkernel. How do I handle page faults that require disk I/O? The disk and filesystem drivers will be in user-space, and it would be awkward for the kernel to have special knowledge of them... Any suggestions?
If you want less policy in your kernel, you could define a specialized paging interface, that your disk or filesystem drivers should support (but I start disliking this idea when I think of it...), but this would make the involved user space processes more like user-level pagers IMHO, what do you think?
cheers Joe