Das Schneider CPC Systembuch

Die Abteilungen des Betriebssystems

Amsdos

Datei-Verwaltung

Die Disketten sind so organisiert, dass in der ersten verfügbaren Spur (Track 0 bei Daten, Track 1 bei IBM und Track 2 bei Einleitung: CP/MCP/M) das Inhaltsverzeichnis angelegt wird. Das umfasst 4 Sektoren oder 2 kByte.

Das Inhaltsverzeichnis ist in 64 Einträge, die sogenannten 'Extents' zu je 32 Datentypen: Bytes
Datenbreite: Bytes
Byte
unterteilt. Jeder Extent kann maximal eine Datei mit 16 kByte verwalten, bei längeren Dateien werden automatisch mehrere Extents benutzt.

Aufbau eines Directory-Eintrages
  Datentypen: Bytes
Datenbreite: Bytes
Bytes
| Bedeutung --------+---------------------------------------------------------- 00 | &E5 => nicht belegt (oder gelöscht) | 0...15 => User-Nummer 01 - 08 | Name des Files 09 - 11 | Extension des Files 09 | Datenbreite: Bits
Port B - Input: &F5xx: Bit 0:
Port B - Input: &F5xx: Bit 4:
Port B - Input: &F5xx: Bit 5:
Port B - Input: &F5xx: Bit 6:
Port B - Input: &F5xx: Bit 7:
Port C - Output: &F6xx: Bit 4:
Port C - Output: &F6xx: Bit 5:
Bit
7 gesetzt => Datei ist schreibgeschützt. 10 | Datenbreite: Bits
Port B - Input: &F5xx: Bit 0:
Port B - Input: &F5xx: Bit 4:
Port B - Input: &F5xx: Bit 5:
Port B - Input: &F5xx: Bit 6:
Port B - Input: &F5xx: Bit 7:
Port C - Output: &F6xx: Bit 4:
Port C - Output: &F6xx: Bit 5:
Bit
7 gesetzt => Datei wird nicht im Inhaltsverzeichnis angezeigt. 12 | Nummer des Extents 13 / 14 | unbenutzt 15 | Länge dieses Extents in Datenspeicherung und Datenstrukturen: RecordsRecords (=128 Datentypen: Bytes
Datenbreite: Bytes
Bytes
) 16 - 31 | Blockbelegungs-Tabelle (1 Die Speicherkonfiguration im Schneider CPC: BlockBlock = 2 Sektoren = 8 Datenspeicherung und Datenstrukturen: RecordsRecords) --------+----------------------------------------------------------

In die Block-Belegungstabelle sind alle Die Speicherkonfiguration im Schneider CPC: BlockBlocks eingetragen, die Daten für diese Datei enthalten. Ein Die Speicherkonfiguration im Schneider CPC: BlockBlock umfasst bei 40 Track/einseitigen Disketten normalerweise immer 1 kByte. So auch bei Amstrad. Da die Sektoren aber genau halb so lang sind, werden immer zwei von ihnen zu einem logischen 'Die Speicherkonfiguration im Schneider CPC: BlockBlock' zusammengefasst. Dabei können, bedingt durch die ungerade Anzahl von Sektoren pro Spur, auch zwei Sektoren von zwei aufeinanderfolgenden Tracks zu einem Die Speicherkonfiguration im Schneider CPC: BlockBlock zusammengefasst werden. Die Block-Nummerierung startet immer in der Spur mit dem Inhaltsverzeichnis, wobei das Inhaltsverzeichnis selbst die Bloecke 0 und 1 belegt.

Die Nummer des Extents wird im Datentypen: Bytes
Datenbreite: Bytes
Byte
12 festgehalten. Der erste Extent einer Datei hat die Nummer 0. Dateien, die länger als 16 kByte sind, bekommen einen weiteren Extent zugeordnet, der dann die Nummer 1 erhält, usw..

In Datentypen: Bytes
Datenbreite: Bytes
Byte
15 wird eingetragen, wieviele Datenspeicherung und Datenstrukturen: RecordsRecords dieser Extent umfasst. Das stammt noch aus guten, alten Zeiten, als die CP/M-Welt noch in Ordnung war. Damals, als es nur 8-Zoll-Laufwerke gab, hatten alle CP/M-Sektoren eine Länge von 128 Datentypen: Bytes
Datenbreite: Bytes
Bytes
. Als dann aber andere Amsdos: FormateFormate aufkamen, und vor allem, als die Speicherkapazität pro Laufwerk immer weiter stieg, kamen dann nach und nach 256-Datentypen: Bytes
Datenbreite: Bytes
Byte
-, 512-, 1024- und 2048-Byte-Sektoren.

Einleitung: CP/MCP/M kennt aber nach wie vor nur Sektoren mit 128 Datentypen: Bytes
Datenbreite: Bytes
Bytes
! Diese werden auch als 'Datenspeicherung und Datenstrukturen: RecordsRecord' bezeichnet. Weicht diese logische Sektor-Länge von der physikalischen auf der Diskette ab, so ist es Aufgabe des BIOS, die größeren Sektoren in die kleineren Datenspeicherung und Datenstrukturen: RecordsRecords zu zerfleddern.

Bei Die Abteilungen des Betriebssystems: AmsdosAmsdos ergibt sich deshalb folgende Zuordnungen:

+---------------------------------------+
| 1 Die Speicherkonfiguration im Schneider CPC: BlockBlock  =  2 Sektoren  =  8 Datenspeicherung und Datenstrukturen: RecordsRecords. |
+---------------------------------------+

Die Anzahl der durch einen Extent belegten Datenspeicherung und Datenstrukturen: RecordsRecords wird in Datentypen: Bytes
Datenbreite: Bytes
Byte
15 festgehalten. Da ein Extent maximal 16 Die Speicherkonfiguration im Schneider CPC: BlockBlocks verwalten kann, ist der höchste Wert, den dieses Datentypen: Bytes
Datenbreite: Bytes
Byte
annehmen kann, 16*8 = 128. An diesem Wert erkennt man dann auch, dass 'höchstwahrscheinlich' noch ein weiterer Extent folgt, weil die Datei für einen zu lang war. Das muss aber nicht sein, weil die Datei ja auch zufällig genau so lang sein könnte.

Valid HTML   Valid CSS