3 ms·
> Would it be possible to make linux work with one address space? Not without major changes to programs' ABI. On Linux with an address space per process, progr
by Findecanor 4y ago
> Would it be possible to make linux work with one address space?
Not without major changes to programs' ABI. On Linux with an address space per process, programs depend on having their private resources on fixed addresses.
The upcoming/vaporware The Mill CPU offers only a single address space, and emulates fixed addresses by aliasing a fixed part of each process' address space to somewhere else — in hardware.
In software, the ABI would have to pass a pointer to each callee's context when calling them. This is e.g. what you did in AmigaOS when you called a library function.
But not all functions can be this way. You don't want all "function pointers" to be fat: function and context. For those to work, dereferenced functions would need to either belong to the program binary only, be "pure" (not access any global variables) or use a system service (on a fixed address..) to look up its context.