• Hello MLAers! We've re-enabled auto-approval for accounts. If you are still waiting on account approval, please check this thread for more information.

Lisa Duplicate Filesystem Paths

Hi all,

I recently read in [0] that Lisa allows multiple files to have identical paths, with there being an underlying unique identifier for each file.

I've been wondering how this works from a syscall perspective. Granted, the vast majority of software would be written against Toolbox, which appears to handle all of this for the programmer, but it looks like non-Toolbox based software was possible..

What I find most confusing is in the Operating System Reference Manual [1], it doesn't address this aspect of the filesystem in either the text or the API reference and examples. E.g, the on page 2-9, the example for the MAKE_FILE syscall returns an error if the file already exists. Similarly, the OPEN syscall only takes a regular path as an argument.

I've considered that the paths passed to these functions are the underlying unique identifier, but other examples (e.g., the ones for RENAME_ENTRY), they passed arguments look like regular paths, not the kind of identifiers given in [0]. Furthermore, there are no functions provided to convert between the two kinds of paths.

Can anyone please explain how duplicate paths work from a userspace perspective?

Thanks!
Neonachronism

[0] https://bitsavers.computerhistory.o...Computer_a_Retrospective_CHAC_V2N1_199407.pdf
[1] http://www.bitsavers.org/pdf/apple/...System_Reference_Manual_for_the_Lisa_1983.pdf
 
See the section in [0] called "NON PHYSICAL FILE NAMES". The "display names" (my term, not Apple's) that you see in the Office System (which is a graphical environment that runs on top of the Lisa OS) are not the real names of files on the disk: those are all given names in curly braces like {T1234}. Within the Office System equivalent of the Finder (which is called the Desktop Manager), there is code that looks at names like {T1234} and retrieves the matching display name (e.g. "LisaPowerpoint") from a separate database for display to the user.

The actual Lisa OS filesystem does not allow duplicate file names (at least not on purpose). But the Office System's database can have multiple entries with the same display name.

That's all. It's not a particularly sophisticated trick, but to the Office System user, it's airtight.

Note that the {T1234} naming scheme isn't a requirement of the Lisa OS: you can give files ordinary readable names too, just like in most filesystems. It's just that the Office System likes to use {numbers and letters in curly braces} for all of its on-disk filenames. And those on-disk filenames are all unique.
 
Thank you stepleton!

"NON PHYSICAL FILE NAMES" was where I first learned about this, and misinterpreted it the first time. When I re-read it, it seems obvious that the display vs underlying file naming facility is not an OS/filesystem ability.
 
Apple later expanded this concept in HFS and AppleShare with the Catalog Node ID, giving every file a unique identifier alongside of the file names. Its a key part of how alias work.
 
Back
Top