3 ms·
Without an MMU, swapping to disk becomes a sizeable challenge. I don't think WASM (or Java, or any other kind of VM) should assume it has infinite physical reso
by rcarmo 3y ago
Without an MMU, swapping to disk becomes a sizeable challenge. I don't think WASM (or Java, or any other kind of VM) should assume it has infinite physical resources of any kind, but am not surprised that JS folk are so far away from hardware they will sometimes forget how computers actually work...
- mananaysiempre 3y ago> Without an MMU, swapping to disk becomes a sizeable challenge. Swapping object graphs out to disk (and substituting entry points by swap-in proxies) was a thing in Smalltalk systems, and I expect Lisp machines must have had their own solutions. For that matter, 16-bit Windows could (with great difficulty) swap on an 8086, and other DOS “overlay managers” existed. Not that I like the idea, necessarily, but this one problem is not unsolvable.
- rcarmo 3y agoWell, let's add efficiency to the mix then (I used Smalltalk and LISP machines, and neither managed RAM effectively enough, to the point where emacs was... fast! at the time).
- pjmlp 3y agoAnd in all cases they made use of MMUs to make it perform at an usable speed. I still remember using overlays on Turbo Pascal, Turbo Basic and Clipper. Amiga also didn't had a MMU, and we all "enjoyed" our Guru Meditation momments.
- gmueckl 3y agoSeeing that flashing red rectangle was quite a common sight, I might add.
- crest 3y agoIf you have a GC tracking accesses (not just writes) it could also be used to move seldom referenced objects from memory to disk.
- otabdeveloper4 3y agoYou are correct. The main reason why MMUs exist is to fix memory fragmentation issues, not security. (Security was an afterthought bolted on later.)