Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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...


> 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.


And 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.


Seeing that flashing red rectangle was quite a common sight, I might add.


Well, 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).


You are correct. The main reason why MMUs exist is to fix memory fragmentation issues, not security. (Security was an afterthought bolted on later.)


If you have a GC tracking accesses (not just writes) it could also be used to move seldom referenced objects from memory to disk.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: