HFS Origins: The Turbo File System (2017)
macgui.com
macgui.com
MFS uses a linked-list for file blocks, similar to MS DOS. This is not a coincidence according to folklore:
https://www.folklore.org/StoryView.py?project=Macintosh&stor...
"Our first file system used a simple data structure that didn't scale well to large drives (in fact, it was suggested to us by Bill Gates in July 1981)"
That is so frigging cool. JBOF, just a bunch of files. The data about structure being not the responsibility, it being a flat file store.
I'm curious how something like Ceph bluestore works, what it's design is. There's metadata nodes here too I think, it's some kind of dumb-ish blockstore, for limited size blocks.
Bluestore is used to directly access raw storage without the overhead of a filesystem. [1][2]
"BlueStore uses the RocksDB’ key-value database to manage internal metadata, such as the mapping from object names to block locations on a disk. [0]
[0] https://access.redhat.com/documentation/en-us/red_hat_ceph_s...
[1] https://blog.acolyer.org/2019/11/06/ceph-evolution/
[2] https://events.static.linuxfound.org/sites/events/files/slid...
But after all, that's how you did any kind of "pointer" programming in language without pointers (like Apple Basic which was my first language) - you'll store things in array, and use indices (much like Databases)...
Maybe it's somewhere in archive.org...
AFAIK unlike Microsoft later on with its FAT LFN patent, Apple doesn't seem to have tried to stop third-party implementations using that.
A large (but apparently incomplete?) chunk of the System 7.1 source code was leaked 10+ years ago, and isn’t hard to find. But AFAIK, there has never been an approved release by Apple. Apple did publicly release the Lisa source code (through the Computer History Museum), so maybe they'll do that with Apple source at some point too.
Reading the article, my impression is the author may have more source code that isn’t widely available. Probably, they know some ex-Apple engineers who have saved code from their time at Apple, and shared it with them on the condition it isn’t made public. I’ve heard of things like that happening before, for other historically important closed source systems.
eg:
https://github.com/apple-oss-distributions/hfs/blob/hfs-106/...
13-Jan-1998 jwc first cut (derived from old NextStep macfs.util code and cdrom.util code).
https://github.com/apple-oss-distributions/xnu/tree/rel/xnu-...
https://github.com/apple-oss-distributions/xnu/blob/rel/xnu-...
(c) 1997-1999 Apple Computer, Inc. All Rights Reserved
(c) 1990, 1992 NeXT Computer, Inc. All Rights Reservedhttps://github.com/apple-oss-distributions/xnu/blob/rel/xnu-...