On Jan 3, 2018, at 9:46 AM, ron minnich <rminnich(a)gmail.com> wrote:
The type of kernel is orthogonal to this particular design flaw from what I know.
It's about how page tables are set up for user mode processes. I may be wrong but
pretty much every Unix or Unix-like kernel (including Plan 9) follows the page table model
Windows and Linux use: the ring 0 PTEs are present in the page table, even in user mode,
and we count on the architecture to prevent ring 3 access to ring 0 memory. This is
certainly the case on all the ones I've worked on.
I don't think a microkernel would save you.
My point was simply that in a ukernel this arrangement doesn't buy
you much as the real "OS" is just another user level process. The
ukernel is basically just a message router. In Mill the message
routing itself is done in h/w (well, a portal call is more like
a call to a different protection domain in the same thread so no
need for marshalling/unmarshalling arguments).