Was ist ein Dateikontrollblock?
Ein Dateikontrollblock (File Control Block, FCB), auch Dateideskriptor genannt, ist eine Art Datenstruktur, die vorübergehend von einem Computerbetriebssystem zugewiesen wird, um den Status einer Datendatei aufrechtzuerhalten, die erstellt oder auf andere Weise bearbeitet wird. In den meisten Fällen werden in einem Dateikontrollblock grundlegende Informationen zu einer Datei wie Name, Erweiterung und Speicherort auf einem logischen Laufwerk sowie dynamische Informationen wie die aktuelle Adresse in der zu lesenden Datei gespeichert. Ursprünglich war ein Dateikontrollblock unter bestimmten Betriebssystemen eine sehr genau definierte Struktur, seitdem ist er jedoch ein allgemeinerer Begriff für die Struktur, die zum Verfolgen von Informationen über eine aktiv bearbeitete Datei verwendet wird. Ein wichtiger Zweck eines Dateikontrollblocks besteht darin, dem Dateisystem dabei zu helfen, den Status der Datei zu verfolgen, um zu verhindern, dass verschiedene Vorgänge versuchen, die Datei auf widersprüchliche Weise zu ändern, z geschrieben an. Die Struktur wird nicht nur für Datendateien verwendet, sondern kann auch zum Verfolgen von Informationen über Verzeichnisse verwendet werden, obwohl die Datenstruktur normalerweise verkürzt wird, um unnötige Felder zu entfernen, da ein Verzeichnis keine Daten enthalten kann.
Zwei Betriebssysteme, insbesondere das Microsoft® Disk Operating System (MS-DOS) und das Steuerungsprogramm für Mikroprozessoren (CP / M), verwendeten als erste Betriebssysteme ein Dateisteuerungsblockschema zum Verwalten von Dateien. Diese Systeme verwendeten sehr ähnliche Strukturen, um die Verwaltung der Dateien zu erleichtern, auf die zugegriffen wurde. Während andere Betriebssysteme und Dateisysteme entwickelt wurden, blieb das Konzept eines Dateikontrollblocks erhalten, aber die Implementierung änderte sich und die Datenstruktur variierte stark von einem System zum nächsten. Die meisten Computer-Betriebssysteme, die 2011 verwendet wurden, verwenden eine Art Dateikontrollblock, insbesondere wenn benutzerdefinierte Dateisysteme für austauschbare Hardware verwendet werden. Die verwendete Datenstruktur ist jedoch nicht mit früheren Versionen ohne Emulation kompatibel und im Allgemeinen größer und für die meisten ausgeblendet High-Level-Programmieranwendungen.
Allgemein enthält ein Dateikontrollblock Informationen, die während der Verwendung einer Datei durch das Betriebssystem geändert werden können. Außer dem Namen und dem Speicherort werden Speicherzeiger auf verschiedene Punkte in der Datei selbst beibehalten. Dies ermöglicht sequentielles Lesen und Schreiben sowie Lesen und Schreiben mit wahlfreiem Zugriff, wenn es mit einer Variablen im FCB gepaart wird, die die Größe eines Datensatzes mit wahlfreiem Zugriff speichert. Dateiberechtigungen, z. B. der Status "Nur Lesen" oder "Ausführbar", werden ebenfalls nachverfolgt. Die Verwendung eines FCB bietet auch einen Mechanismus, um zu verhindern, dass zwei oder mehr Prozesse auf unvorhersehbare Weise dieselbe Datei bearbeiten, z. B. den Versuch, Informationen an das Ende einer Datei anzuhängen, während dieselbe Datei an einen anderen Speicherort kopiert wird.