The NOVA filesystem
The NOVA filesystem
Posted Aug 16, 2017 13:56 UTC (Wed) by anton (subscriber, #25547)In reply to: The NOVA filesystem by Tara_Li
Parent article: The NOVA filesystem
Software has problems like memory leaks and bugs that make process persistence less practical than it may appear at first.
E.g., some earlier version of Microsoft Word exhibited many of the disadvantages of trying to work with process persistence only: When the user saved the document, it produced more or less a dump of its memory, and when loading the document, the memory dump was restored. The document contained a lot of stuff that had been deleted by the user (which led to various interesting findings), and if the memory was corrupted in some way (that would lead to a crash on certain operations), that corruption would end up in the saved document, persisting the crash across the save. Letting a new version of Word load an old document was probably a major programming feat, and the other way was not possible at all.
Saving data in a well-defined format instead of just keeping it in persistent process memory or saving it as a memory dump is more work at first, but it pays off.
We have had persistent OSs like EROS for decades (they saved the changed pages to disk every 30s or so, so you would lose up to that amount of work on a crash, much like with file systems), but they did not catch on, nor did mainstream OSs acquire process persistence features (well, there's hibernation, but the OS is still not designed to let processes live forever). Maybe now, with containers.
So when we have a persistent variant of RAM, we still need to save data from processes, so we still need a file system. The choice of having a log-structured base for such a file system surprised me, though.
