What to do

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.

Before
Before
After
After
RAM
RAM
Storage
Storage
Process address space
Process address space
Process address space
Process address space
Object
Object
Object
Object
Object
Object
DLL
DLL
DLL
DLL
App
App
DLL
DLL
App
App
Object
Object
Object
Object
Directory
Directory
Directory
Directory
Directory
Directory
File
File
File
File
File
File
File
File
File
File
File
File
Grid
Grid
Presentation
Presentation
Slide
Slide
Slide
Slide
Slide
Slide
Slide
Slide
Image
Image
Image
Image
Image
Image
Image
Image
Game
Game
Todo List
Todo List
Presentations
editor module
Presentations…
Bitmap color
tweaker
Bitmap color…
Todo list module
Todo list mo…
Text is not SVG – cannot display

If we do so:

  • all application subroutines could call each other by simple call/jump CPU 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/mov CPU 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.

Leave a Reply

Your email address will not be published. Required fields are marked *