38

FILES-11 on DEC minicomputers was a versioned file system -- RSX-11M, IAS (on PDP-11), VMS (on VAX, Alpha). Version numbers are very user-visible; they are part of the syntax for specifying a file. And programs are designed to behave appropriately for a versioned file system. When creating a file, the normal way was to not specify a version number, and the ...


30

In 1986 (and for a few years after that still), /dev wasn’t handled by a special file system. It was generally a directory on the root file system, and its contents were largely static: a series of device nodes, created by mknod. Many systems had some way of creating the “standard” nodes, for example a Makefile in V7 or MAKEDEV. Each device node has a type, ...


30

It simply makes sense to have a symbol that stands for the current directory. It makes sense for the symbol to be easy to type and to stand out from ordinary directory names. Dot is a pretty good choice. It makes learning a lot easier if the same symbol means the same thing in multiple contexts. consider the following: chdir .\subdir copy c:\test\*.* . ...


24

There were quite a few operating systems that had file versioning in the same era as unix. Many file systems that we are familiar with today just have some components of a file name, such as: Name.type They might have a path: \folder\folder\Name.type They might have a server (UNC as an example): \\server.domain\folder\folder\name.type In many current ...


19

I am not personally aware of any operating system in the entire history of computing ever having had this feature. Siemens BS2000 of the early 1970s may be an example here (*1) with a feature they called file generations. A new file could be marked in the catalogue as having generations, setting a base generation number and how many generations are to be ...


18

Just a supplement to what Stephen Kitt already said: The entries in any directory in a classic Unix file system are hard links that map names to inodes —small fixed-size records in the file system. There were several different kinds of inode; A "regular file" inode contained information that the OS could use to find the pages of a file. A "directory" ...


17

My second guess is CTSS. It was operational in 1961, but at that time had only tapes for user file storage. I suppose that tape name records don't constitute 'metadata' in the sense required by this question. A disk was added somewhere around 1962 to 1963. The CTSS Programmer's Guide from 1963 mentions the installation of the IBM 1301 disk file; and 5) ...


13

CHDIR . is a bit confusing since CHDIR produces the exact same result and both in fact are pretty much a no-op. Not really, not even at first sight, as (under MS-DOS) chdir prints out the current directory, while chdir . does not. Of course, this may vary depending on the OS in use. For example under Unix, neither cd . nor cd produce anything but a linefeed....


11

In addition to what others wrote: ITS, TENEX, TOPS-20. In ITS, files are named by two strings each at most six characters. The second file name can be a number to specify a version. If you open a file for reading, > will access the latest version. When writing, it creates a new version. < refers to the oldest version. Moby edit. Let's make a ...


11

Another use of the dot that I think has not been mentioned is that it allows you to specify what executable to use and tells the OS to not search the PATH. If I type (DOS or Unix) pdflatex then the OS will search for an executable named like that, starting with the current directory and then those listed in the PATH variable. But if you type (in DOS; ...


11

(This answer has now been determined not to satisfy the now-clarified requirements of the question. Nevertheless, the discussion seems useful, if only in my own mind, so I will leave it here. But see my other answer about CTSS.) I will guess that the standard answer for 'first' applies here: the Atlas Supervisor. Section 6 of the linked document talks ...


8

The V1 Unix B manpage uses .s as the extension for intermediate assembly files used during the build. This is the earliest use of .s that I can find, and would correspond to November 1971 at the latest. There were assemblers on systems with file systems before Unix, but none that I’m aware of used .s. Some like DECsys don’t appear to have extensions; other ...


6

As I was expecting, it was an error in my code :) pelrun was very kind and found the bug (see my question on CPCWiki's forum) so props to him. I'll try to explain the issue: Notice I'm hooking into the jump entry by setting up a FAR CALL. Notice how that's a FAR CALL and not a JUMP? There's an extra return address there that shouldn't be pushed into the ...


6

My experience is with the VAX and VMS. It had versioned files. Back in the day, it was not uncommon for some programs, like editors, to create a backup copy of the file you were working on. In the end you'd have, for example, file.txt and file.bak. The versioned file system is simply that concept writ large. Instead of file.txt and file.bak, you had file....


5

The . entry exists in MS-DOS because it was copied from Unix. In Unix, it serves the purpose of supplying a name to the current working directory. If we want to traverse the current working directory, we need to pass something to the opendir function: DIR *d = opendir("."); The dot is also useful for executing programs that are in a relative path. For ...


5

My hypothesis is as follows: The last time you successfully formatted the drive to be bootable, you did it with something that only understands FAT16 booting, so it installed a boot sector that only knows how to hand off to FAT16 partitions. When you formatted for FAT32, you didn't properly ask for a bootable FAT32 partition, so you've got a boot sector ...


4

At least in MS-DOS, when a new directory is created, it is first populated with two special entries, .. which points to parent directory where it was created from, and . which points to itself. It is possible that being currently in some directory just means keeping a pointer to a directory, and absolute path name can be get by just following the .. entries ...


3

Some of the metadata attributed to files on Acorn filing systems date from the 8-bit implementations of ADFS (and the earlier DFS) on the BBC Micro. These include the address to load the file in memory (RAM) whean read from disk, and the address at which the OS should start executing the file (if it is executable). Key additions for RISC OS as used by the ...


3

Inspecting a couple of the files with hexdump and cross-referencing riscos documentation the file seems to be a sequence of 32-bit little endian words. Looking at the values the following is my best-guess as to the fields meaning. Word 0 appears to be the "load address"* field, on riscos this normally follows the form 0xFFFtttdd where ttt is the file type ...


3

The other answers discuss mounting the drive directly. However, given the age of the disk and the stated personal value of the contents, I would like to recommend that the drive be imaged first. GNU ddrescue is your friend. ddrescue will create an image of the drive which you can then mount and work with. This way you only have to connect the drive once ...


3

Present evidence is that ITS had a very early networked file system no later than 1972. ITS has had a facility called the "ML Device", or MLDEV, for a long time. The name probably comes from a time when the users of the older more established computer called AI wanted access to files on the computer called ML. The "device" part is because ITS files are ...


2

In many file systems, having the 'dot' (.) directory as referring to the current directory is necessary to determine the name of the current directory. In UNIX file systems as well as the FAT file systems used in DOS, the names of files and directories are stored as tuples in the parent directory, as opposed to file systems like NTFS where the name is a ...


2

It's probably best to take a look at the +3DOS DD_LOGIN function, since that's the ultimate source for how a +3 identifies a disc. What this does is: Call DD_SEL_FORMAT with A=0 to select the standard +3 format (180k, single sided, with one system track). Call DD_READ_ID with D=0 to read the identity of a sector (any sector) on track 0 of the disc. Look at ...


2

+3 disks are actually CP/M disks. Disk organization details are stored in the XDPB table, which is generated by the firmware from the data found at the beginning of the disk. This can be read on part 27 of the +3 manual: The PCW range disk format (used by the +3) is, in fact, a family of formats the precise member of which is defined in the 'disk ...


1

This is only a partial answer so far. TR-DOS was first part of the Beta 128 disk interface, which was cloned along with the Spectrum itself in Russia and Eastern Europe. According to this Beta 128 manual I found online, by default code does both load and start at the same address. Loading such code files manually is known as "auto-run". But you can also ...


1

The usual way of such HW peripherials was switching the original ZX ROM (0-16384) chip for its own memory space where was usually another ROM or even RAM on the runtime. It was done by the /ROMCS pin on the extention bus/connector. I am not famillair with TR-DOS as I was heavily using MDOS instead. The MDOS was an ZX OS extention for Didaktik D40/D80 ...


Only top voted, non community-wiki answers of a minimum length are eligible