2 ms·
There is an important distinction between "one address space" and "one set of memory permissions". The former is usually a good idea (for debuggability if nothi
by o11c 1y ago
There is an important distinction between "one address space" and "one set of memory permissions". The former is usually a good idea (for debuggability if nothing else!) if you don't need to support `fork`; the latter is the problem.
On modern Linux systems you can even do separate sets of memory permissions within a single process (and single address space), with system calls needed only at startup; see `pkeys(7)`.
https://www.man7.org/linux/man-pages/man7/pkeys.7.html https://www.man7.org/linux/man-pages/man7/pkeys.7.html
(note however that there aren't enough pkeys available to avoid the performance problem every microkernel has run into)