Re:Starting Over: A FOSS proposal for a new type of OS for a...
by pmontra on Monday February 08, 2021 @06:42PM
(#26071924)
> If you have some data that you want to keep, you have a process that holds it in its process memory, and can give it other process via an IPC mechanism.
Basically this is how Erlang / Elixir programs store state. Look for Elixir's GenServer behavior.
> A possible next evolutionary step for computers is persistent memory: large capacity non-volatile main memory. With a few terabytes of nonvolatile RAM, who needs an SSD any more? I will sketch out a proposal for how to build an versatile, general-purpose OS for a computer that doesn't need or use filesystems or files, and how such a thing could be built from existing FOSS code and techniques, using lessons from systems that existed decades ago and which inspired the computers we use today.
reminds me a bit of something I've long wanted to experiment with (or see someone else experiment with). Here's how I described it in a comment here on HN a while back [1]:
> I've toyed with the idea of replacing files with processes. If you have some data that you want to keep, you have a process that holds it in its process memory, and can give it other process via an IPC mechanism (if the other process is local) or over the network (if remote, although you could of course also use the network locally).
> I never got around to trying it out. I think I may have tried to start some discussion on usenet along these lines maybe 10-15 years ago, but no one seemed interested.
> A "directory" would simply by a process that provides some kind of lookup service to let other processes find the data storage processes that contain the data they are looking for.
> You'd still have disks on your computer, but they would be mostly used as swap space.
> The system would include some standard simple data holding and directory processes that implement a Unix-like namespace and permission system, but it would be easy to override this for data that needs special treatment. Just write a new data holding program that implements the special treatment you want and knows how to register with the standard directory processes.
[1] https://news.ycombinator.com/item?id=8311532