On Sat, Apr 9, 2022, 8:18 AM tytso <tytso@mit.edu> wrote:
On Fri, Apr 08, 2022 at 02:02:23PM -0700, Greg A. Woods wrote:
> Single Level Storage is an awesome concept and removes so many ugly
> hacks from algorithms that otherwise have to process data in files.
> Doing data processing with read and write and pipes is effectively
> working through a straw whereas SLS allows all (reasonably sized) data
> to be presented in entirely complete randomly accessible arrays just by
> attaching a "file" to a segment.  Mmap() is a very poor replacement that
> requires a great deal extra bookkeeping that's next to impossible to
> hide from; and also there's the problem of the consistency semantics
> being different between the I/O based filesystems and direct memory
> mapping of their files, which Mmap() reveals, and which SLS eliminates
> (by simply not having any I/O mechanism for files in the first place!).

To be fair, Multics had it a lot easier, because core memory meant
that every single memory access could be considered "durable storage",
so there was no real need for "fsync(2)" or "msync(2)".

This may have been true of the very first Multics machines, but it appears they switched to solid state memory sometime in the 70s (it's not clear to me when the SCUs attached to the 6180 switched from core to DRAM: https://gunkies.org/wiki/Honeywell_6000_series). By the time the DPS8/M rolled out we must assume they had DRAM. Apparently a cache hierarchy was added eventually.

        - Dan C.