Sometimes it is much easier to actually implement something, than to try faking it.
So, what if we actually equip our computers with a special memory device that is:
- as fast and directly accessible to processors as RAM,
- and at the same time as energy-independent and huge as SSD.
Let’s name this persistent RAM – Grid.
And in this memory we create a huge heap data structure, and put there, in this heap, a document-object-model (DOM) that holds:
- code of all installed applications
- and all data objects ever existed in the computer.
It is like having all programs simultaneously started and running and having all documents simultaneously loaded into RAM and ready to interact with in the single linear address space of multiple terabytes. And since this RAM is persistent, there is no backing file systems and files for this documents and programs – everything is in this Grid.
If we do so:
- all application subroutines could call each other by simple
call/jumpCPU instructions regardless if this code belongs to different application packages, - all documents could hold links to any other documents, and these links are just simple pointers – no file names, URLs, IPC handles etc,
- running subroutines could access documents using just direct
ld/movCPU instructions without loading data from files, without performing network and IPC magic, without parsing weird data formats, - documents could store pointers to event handlers and virtual method tables. No more plain old-school passive data, now everything in the computer is active objects with combined data and behavior.
Benefits:
- From the user perspective: no more application start/stop/switch. No more memorizing what document type and what operation requires what application. No more applications. No more files and directories – only documents all way around.
- From the Software developer perspective: no more application life cycle management, no window management, no GUI, ORM etc. Only classes of document and their methods.
- Efficiency: This architecture is so simple in comparison to the existing OS architectures, that it must be order of magnitude more efficient.
SilverDOM is an attempt to make this architecture real.
In the next posts we’ll answer two questions:
- How can we create this grid memory nowadays
- How can we build our SilverDOM in this memory and deal with consequences.
