By: Adrian (a.delete@this.acm.org),
Room: Moderated Discussions
Ricardo B (ricardo.b.delete@this.xxxxx.xx) on January 11, 2020 7:01 pm wrote:
>
> Your belief is difficult to prove because it's paradoxically impossible
> You cannot avoid physical memory fragmentation without a translation layer somewhere.
> And having it the CPU handle it is the fastest known method.
>
> You're also vastly underestimating the use cases of memory paging.
> There's memory mapped files, copy-on-write sharing, running 32-bit apps on
> 64-bit systems, and probably some other features I'm forgetting right now.
>
It is not paradoxically impossible. There are various methods to avoid physical memory fragmentation.
The worst method, but which is guaranteed to always succeed, is to move some memory from time to time.
The conventional wisdom is that all alternatives to dynamic address translation via paging have lower performance.
This may be true, but I have seen no proof that this has remained true on modern hardware, compared to the 1977 hardware when this dogma became established.
That is why I intend to discover experimentally whether this is true or false. However it is likely that I will not know the answer before the end of the year, because besides this there are many other experimental features that I want to implement in a custom kernel variant, and this being a hobby project, it will progress slowly.
All the other things mentioned by you can also be implemented without dynamic address translation, but it is unknown yet whether this would not worsen the performance.
>
> Your belief is difficult to prove because it's paradoxically impossible
> You cannot avoid physical memory fragmentation without a translation layer somewhere.
> And having it the CPU handle it is the fastest known method.
>
> You're also vastly underestimating the use cases of memory paging.
> There's memory mapped files, copy-on-write sharing, running 32-bit apps on
> 64-bit systems, and probably some other features I'm forgetting right now.
>
It is not paradoxically impossible. There are various methods to avoid physical memory fragmentation.
The worst method, but which is guaranteed to always succeed, is to move some memory from time to time.
The conventional wisdom is that all alternatives to dynamic address translation via paging have lower performance.
This may be true, but I have seen no proof that this has remained true on modern hardware, compared to the 1977 hardware when this dogma became established.
That is why I intend to discover experimentally whether this is true or false. However it is likely that I will not know the answer before the end of the year, because besides this there are many other experimental features that I want to implement in a custom kernel variant, and this being a hobby project, it will progress slowly.
All the other things mentioned by you can also be implemented without dynamic address translation, but it is unknown yet whether this would not worsen the performance.



