2 ms·
Curiously, you do not need memory virtualization if all you want is memory protection and process isolation: this can be achieved by a simpler piece of hardware
by Koshkin 7y ago
Curiously, you do not need memory virtualization if all you want is memory protection and process isolation: this can be achieved by a simpler piece of hardware that just ensures that a range of the upper bits of the memory address used by the process matches a certain pattern, or tag. This effectively partitions the physical RAM.
- monocasa 7y agoIf anyone wants to play with this idea, you can use the base and bounds registers in the ARM-M and ARM-R specs to do this for one example.
- t0350 7y agoYou could also implement something likes software isolated process to have memory safety. However, the idea of virtual memory really fascinates me. Such an elegant layer and it brings you many other merits besides memory safety.
- fuklief 7y agoThat sounds like a capability machine e.g., CHERI[1] It seems those might become relatively mainstream in a few years, as ARM seems to be jumping on board [2] [1]: https://www.cl.cam.ac.uk/research/security/ctsrd/cheri/ https://www.cl.cam.ac.uk/research/security/ctsrd/cheri/ [2]: https://www.cl.cam.ac.uk/research/security/ctsrd/cheri/cheri-morello.html https://www.cl.cam.ac.uk/research/security/ctsrd/cheri/cheri...