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

Another OS that did something like this, IIRC, was early versions of PalmOS. There was literally no distinction between storage and memory -- everything was stored in battery-backed RAM (except the OS, which was in ROM).


It was the same deal with some Windows Mobile 2003 (and presumably other) devices. Except it was Windows, so of course it had to have a weird interface. There was a slider in the control panel that let you change the allocation of RAM between "memory" and "storage". But the system would auto-adjust this allocation, so the slider's effect was temporary. It was quite strange.

See the first screenshot on this page:

https://www.pocketpcfaq.com/faqs/5.0/memory_management.htm


I remember you could somewhere (Regular settings? Or perhaps some hidden registry-tweak?) turn off the automatic memory allocation, so I moved as much software and documents as possible to the internal flash storage (still relatively tiny) respectively an external memory card and then moved the slider fully over to the left in order to have as much program memory as possible.


That also describes a TRS-80 Model 100.

It still calls files files, but a more meaningful all-ram distinction besides the simple fact everything is in battery backed ram, is that in most cases when a file is used, even for editing not just reading, it is used in-place, not copied from a storage area to a working area.

This is a 1984 device with 32k of ram and 32k of rom.

Partly this is because of the tiny amount of available ram, none to waste on copies.

Partly this is because the cpu doesn't have a relative-jump instruction, so binaries are not easily relocatable. So binaries get compiled to run at a specific static address, sometimes modified at install-time to stack up next to whatever else you already have installed, and that's just where that binary lives forever after that whether it's currently being executed or not.

So that flat model is actually driven by a couple of severe limitations.

The "files" are really only files for display in the main menu and when exporting like saving to tape or disk. While on-device, the files are really just areas of ram. They're always there at whatever address they're at, whether they're being used right now or not. For instance there are such things as BASIC programs that read data stored in comments to do things the language doesn't normally provide for, because the comments are ultimately nothing but a predictable address in memory like any other.


> This is a 1984 device with 32k of ram and 32k of rom.

The original Palm Pilot wasn't all that much larger. Despite being released 12 years later, it only had 128 KB RAM and 512 KB ROM.

The PalmOS memory model was unusual. Rather than trying to explain it all here, there's a decent summary at: https://www.fuw.edu.pl/~michalj/palmos/Memory.html




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

Search: