Was war das erste Dateisystem?

Sep 03 2020

SoftwareEngineering.SE hat eine Frage zum historisch ersten hierarchischen Dateisystem (auch eine ähnliche lokale Frage ), aber was war das erste Betriebssystem mit einem Dateisystem im Allgemeinen?

Das heißt, welches Betriebssystem war das erste, das den externen Speicher von physischen Datenträgern auf Betriebssystemebene abstrahierte, selbst durch vorab zugewiesene Blöcke mit fester Größe, indem es den Begriff eines "persönlichen virtuellen Datenträgers" oder ähnlichem gemäß den gepflegten Metadaten einführte vom Betriebssystem?

Antworten

17 another-dave Sep 04 2020 at 01:38

Meine zweite Vermutung ist CTSS. Es war 1961 in Betrieb, hatte aber zu dieser Zeit nur Bänder für die Speicherung von Benutzerdateien. Ich nehme an, dass Bandnamensdatensätze keine "Metadaten" im Sinne dieser Frage darstellen.

Irgendwo zwischen 1962 und 1963 wurde eine Diskette hinzugefügt. Der CTSS Programmer's Guide von 1963 erwähnt

  1. die Installation der IBM 1301-Festplattendatei; und 5) das Entwerfen und Programmieren einer Master-Disk-Steuer-Subroutine (Memo CC-196) und eines zugehörigen Disk-Editor-Programms (Memo CC-208)

Ich habe CC-196 nicht online gefunden, aber CC-208 beschreibt das Master File Directory (MFD) und User File Directories (UFDs). Jeder UFD-Eintrag enthält die Startspurnummer und die Anzahl der Spuren für die Datei. Ich schließe daraus, dass Dateien zusammenhängend sind.

(Seite 1, wenn Sie es nachschlagen möchten; es schneidet und fügt nicht gut ein)

Dies qualifiziert sich also definitiv als Dateisystem innerhalb der Anforderungen der Frage. Es zeigt auch eine erfreuliche Ahnenbeziehung zum nachfolgenden hierarchischen Dateisystempapier. Ob CTSS "zuerst" war, hängt davon ab, ob jemand hier früher etwas finden kann.

11 another-dave Sep 03 2020 at 20:57

(Diese Antwort wurde nun entschlossen, die jetzt geklärten Anforderungen der Frage nicht zu erfüllen. Trotzdem scheint die Diskussion nützlich zu sein, wenn auch nur in meinem eigenen Kopf, also werde ich sie hier belassen. Aber siehe meine andere Antwort zu CTSS.)

Ich werde vermuten, dass hier die Standardantwort für 'first' gilt: der Atlas Supervisor .

Abschnitt 6 des verknüpften Dokuments befasst sich mit der Datenverarbeitung.

Die schnelle Rechengeschwindigkeit von Atlas und die Verwendung mehrerer Peripheriegeräte mit Ein- und Ausgabe ermöglichen es dem Computer, eine große Anzahl und Vielfalt von Problemen zu bewältigen. Diese reichen von kleinen Jobs, für die keine Daten außerhalb des Programms selbst vorhanden sind, bis zu großen Jobs, für die mehrere Datenstapel erforderlich sind und die möglicherweise auf verschiedenen Medien eingehen. Andere Eingabeelemente können Änderungen an Programmen oder Anforderungen zur Ausführung bereits gelieferter Programme sein. Mehrere solcher Gegenstände können zusammen auf einem Kartenspiel oder einer Länge von Lochstreifen eingereicht werden. Alle müssen für den Computer ordnungsgemäß identifiziert werden.

Um diese Identifizierungsaufgabe zu systematisieren, wurde das Konzept eines Dokuments eingeführt. Ein Dokument ist ein in sich geschlossener Abschnitt mit Eingabeinformationen, der dem Computer nacheinander über einen Eingabekanal angezeigt wird. Jedes Dokument enthält geeignete Identifizierungsinformationen (siehe unten), und der Supervisor führt im Hauptspeicher eine Liste der Dokumente, die von den Eingaberoutinen in den Speicher aufgenommen werden, sowie eine Liste der Jobs, für die weitere Dokumente erwartet werden.

Dies ist vielleicht dynamischer als Sie gedacht haben; Der Supervisor verwaltet nur Identifikations- / Standortinformationen für "aktive" Dateien. Ich denke jedoch, dass dies nicht so sehr anders ist als bei Systemen, die austauschbaren Plattenspeicher verwenden. Das Betriebssystem kennt oft nur den Inhalt dessen, was derzeit online bereitgestellt wird - es sei denn, es verfügt natürlich über das Design, das einen einzigen Katalog für alle Volumes verwaltet.

Das wichtige Merkmal, das dies zu einer gültigen Antwort macht, ist, dass der Benutzer dem Dokument einen Namen zuweist, das Programm das Dokument nach Namen fragt und der Supervisor den Namen verwendet, um die Programmanforderung mit der Hardware abzugleichen, auf der das Dokument lebt (welche) könnte transparent auf Magtape sein, wenn Eingabespooling verwendet wird).