@Fats
But I think it should be possible to have one adress space but make some of your memory read-only to other tasks.
This is possible. This is not the problem.
At least this should make it possible to make the core OS uncrashable.
No it doesn't. The core OS depends on being able to poke things freely.
Also, all apps pass their memory to the OS, and the OS assumes it can poke it. Apps pass memory to each other and assume they can access it freely. It just doesn't work, sorry.
The best semi-protection can be achieved from
mmu.library MuLink, but even that only protects the given code segments against alteration. MuProctectModules can protect RAM loaded modules, but again, this is only protecting the code from alteration.