For communicating data between programs, would you create a filesystem object that points to memory inside your program, or what?
IPC (Inter-Process Communication) is a known technology. This won't change it much if at all.
Probably what they're referring to is something more along the lines of replacing SCSI or NFS with a protocol that is a better match for the random access patterns used to access in-memory structures. (Hence their 64-byte I/O size; that is equal to a cache line on Intel architectures.)
Not so. Take a look at the Linux kernel implementation of memory-mapped ramdisk files. There is no "filesystem overhead". Zero. The kernel pretty much sets up the page mapping and then is hands-off.
Even if your memory mapping is backed by a file on a block device, the only overhead is occasional paging to disk. This happens on the order of SECONDS… not "constantly"!
The logical structure of a filesystem is still a useful abstraction (and has been decoupled from physical constraints for a long time now).
Linux already does this. Program code is cached copy-on-write in shared memory. The fact that, say, bash has to be loaded from disk once is pretty much irrelevant. After that, the kernel's just managing pointers.
(Yes, you'll still need to memory-map files when we have memristors. They still won't necessarily be contiguous on disk, and they still won't necessarily exist locally.)
I was hoping for a second there that somebody at HP had read about Loper OS and Stanislav Datsovskiy's ideas[1], or even about Symbolics LISP machines (great article on the frontpage today[2]), but nope, looks like they are just gonna repeat the same insanity of the past fifty years instead of actually doing something that will progress the field of computing.
But if that's the case then they'll have to think of ways to do e.g. OS upgrades - where you normally reboot to flush the old code out of RAM.
Or how will you recover if you load a bad driver end experience a blue screen? Normally you reboot to flush the bad state and start again.
Somehow I think you'll need a separate cut down immutable OS alongside the your System so that you can repair things or make updates to the main RAM/Storage space.
Or at least that's how I understand it..?