---------------------------------------------------------------- | SOFTWARE- | Dateiformate | MOS | | DOKUMENTATION | |-----------| |-----------------| Anleitung fuer den | | | 11/87 | Programmierer | OMOS 2.0 | ---------------------------------------------------------------- Programmtechnische Anleitung fuer den Programmierer Beschreibung Teil 4 Dateiformate im Betriebssystem OMOS 1630 MGS K 1600 VEB Robotron-Vertrieb Berlin Dok.-Nr. C 8064-0487-1M2031 Die vorliegende Software-Dokumentation "Anleitung fuer den Programmierer, Teil 4: Dateiformate im Betriebssystem OMOS 1630" entspricht dem Stand von 11/87. Nachdruck, jegliche Vervielfaeltigung oder Auszuege daraus sind unzulaessig. Die Ausarbeitung erfolgte durch ein Kollektiv des VEB Robotron-Vertrieb Berlin. Im Interesse einer staendigen Weiterentwicklung werden alle Leser gebeten, Hinweise zur Verbesserung dem Herausgeber mitzuteilen. Herausgeber: VEB Robotron-Vertrieb Berlin PSF 1235 Berlin 1086 (C) Kombinat Robotron 1987 Kurzreferat Im Teil 4 der Anleitung fuer den Programmierer werden die vom Betriebssystem OMOS 1630 unterstuetzten Dateiformate fuer Magnet- plattenspeicher (FM16-D) und fuer das Magnetband (FM16-M) behan- delt. Nach den Begriffsbestimmungen folgen die Darstellungen zu den Kennsaetzen und Dateistrukturen sowie Ausfuehrungen zu den Verarbeitungsprinzipien. Inhaltsverzeichnis ------------------ Seite 1. Vorbemerkungen 5 1.1. Begriffsbestimmungen fuer Magnetplattendateien 6 1.2. Begriffsbestimmungen fuer Magnetbanddateien 6 2. Dateiformat fuer Magnetplattenspeicher (FM16-D) 8 2.1. Formatierung und Initialisierung 8 2.2. Indexdatei 8 2.2.1. Systemladeblock 11 2.2.2. Datentraegerkennsatz 11 2.2.3. Dateikennsatzliste 13 2.2.4. Dateikennsatz 14 2.2.4.1. Kopfbereich 15 2.2.4.2. Identifikationsbereich 16 2.2.4.3. Zuweisungsbereich 17 2.2.4.4. Dateiidentifikation 18 2.3. Datentraegerbelegungsdatei 19 2.4. Fehlerblockdatei 19 2.5. MFD-Datei 20 2.6. CORIMG-Datei 20 3. Dateiformat fuer Magnetband (FM16-M) 21 3.1. Format und Inhalt der Kennsaetze 21 3.1.1. Datentraegerkennsatz VOL1 21 3.1.1.1. Erlaeuterungen zum Datentraegerkennsatz 22 3.1.2. Datei-Anfangskennsatz HDR 23 3.1.2.1. Erster Datei-Anfangskennsatz HDR1 23 3.1.2.2. Zweiter Datei-Anfangskennsatz HDR2 25 3.1.2.3. Dritter Datei-Anfangskennsatz HDR3 26 3.1.3. Datei-Endekennsaetze EOF1/EOF2 26 3.1.4. Datentraeger-Endekennsaetze EOV1/EOV2 27 3.2. Verarbeitung der Kennsaetze und Kennsatzfelder 27 3.3. Anordnung der Dateien auf Magnetband 28 3.3.1. Einzeldatei auf Einzeldatentraeger 29 3.3.2. Einzeldatei ueber mehrere Datentraeger 29 3.3.3. Mehrere Dateien auf einem Datentraeger 29 3.3.4. Mehrere Dateien auf mehreren Datentraegern 29 3.4. Auswertung des Dateiidentifikators durch OMOS 1630 29 28 3.5. Bandendebehandlung 30 Abkuerzungsverzeichnis 31 Sachwortverzeichnis 35 3 Bildverzeichnis --------------- Seite 1: Struktur der Platte 9 Tabellenverzeichnis ------------------- 1: Aufbau des Datentraegerkennsatzes 11 2: Aufbau des Dateikennsatzes (Kopfbereich) 14 3: Aufbau des Dateikennsatzes (Identifikationsbereich) 16 4: Aufbau des Dateikennsatzes (Zuweisungsbereich) 17 5: Datentraegerkennsatz VOL1 21 6: Erster Datei-Anfangskennsatz HDR1 23 7: Zweiter Datei-Anfangskennsatz HDR2 25 8: Dritter Datei-Anfangskennsatz HDR3 26 9: Erster und Zweiter Datei-Endekennsatz EOF1/EOF2 26 10: Erster und Zweiter Datentraeger-Endekennsatz EOV1/EOV2 27 4 1. Vorbemerkungen ----------------- Die im folgenden behandelten Dateiformate fuer Magnetplattenspei- cher und Magnetband werden direkt vom Betriebssystem OMOS 1630 unterstuetzt. Eine Reihe weiterer Dateiformate werden durch das Dateiumwandlungsprogramm FLX 1630 (OMEX) und das Dateiaustausch- programm FEX 1630 (OMEX) derart unterstuetzt, dass in jenen For- maten aufgezeichnete Dateien vom Betriebssystem OMOS 1630 verar- beitet werden koennen. Die Bezeichnungen fuer die durch OMOS 1630 unterstuetzten Dateiformate sind wie folgt aufgebaut: FXYY-Z wobei F - Dateiformat X - Kennzeichen fuer das unterstuetzende Betriebssystem (Buchstabe; fuer MOOS und OMOS "M") YY - Kennzeichen fuer das benutzte Mikrorechnergeraetesystem (zwei Ziffern; fuer MGS 1600 "16") Z - Kennzeichen fuer den benutzten Datentraeger (Buchstabe; fuer Magnetplattenspeicher "D", fuer Magnet- band "M") bedeuten. Damit ergeben sich fuer die vom Betriebssystem OMOS 1630 unter- stuetzten Dateiformate die folgenden Bezeichnungen: - fuer Magnetplattenspeicher FM16-D - fuer Magnetband FM16-M. Zu bemerken ist noch, dass die Dateiformate FM16-D und FM16-M die Festlegungen der Entwicklungsvorschriften fuer die Datentraeger- kompatibilitaet im Rahmen des Standardwerkes des VEB Kombinat Robotron (KROS) beruecksichtigen. Diese Entwicklungsvorschriften basieren auf den international aktuellen Normen (z.B. ISO, ST- RGW). Beim Dateiformat FM16-M sei noch auf folgende Besonderheit hinge- wiesen: Innerhalb des Mikrorechnergeraetesystems MGS 1600 werden die Kennsaetze zwar im ESER-Format, jedoch im 7-bit-Code (KOI 7) aufgezeichnet (Daten werden codetransparent aufgezeichnet). In der Entwicklungsvorschrift KROS 5111, die den Datenaustausch mit anderen Rechnersystemen betrifft, wird jedoch von einer Aufzeich- nung im 8-bit-Code (DKOI) ausgegangen. Diese Konvertierung kann mit Hilfe des Dateiaustauschprogramms FEX 1630 (OMEX) in beiden Richtungen vorgenommen werden. Das Betriebssystem OMOS 1630 bietet die Moeglichkeit, eine Codeumwandlung mit Mitteln des Betriebssystems vorzunehmen (siehe Anleitung fuer den Programmierer, Teil 5: Dateizugriffsroutinen FCS 1630). 5 1.1. Begriffsbestimmungen fuer Magnetplattendateien --------------------------------------------------- Geraeteebene | | physischer | 0...L | datentraeger- | Block | -------------| relativ |------------|----------- Systemebene | | logischer | LBN: 0...N | | Block | -------------|---------------|------------|----------- Taskebene | dateirelativ | virtueller | VBN: 1...M | | Block | Logische und virtuelle Bloecke bestehen im OMOS 1630 immer aus 256. Worten. Eine Datei besteht aus einem Dateikennsatz, der in der Indexdatei enthalten ist, und den Datenbloecken, die ueber die Blockadress- zeiger des Dateikennsatzes auf der Platte lokalisiert werden. Saetze sind logische Einheiten in einer Datei. Ihre Laenge ist voellig unabhaengig von der Groesse eines virtuellen Blockes, da die Saetze vom Nutzer vereinbart werden. Nummeriert werden sie von 1...P. 1.2. Begriffsbestimmungen fuer Magnetbanddateien ------------------------------------------------ Bandmarke --------- Block, welcher die Grenze sowohl zwischen Datenbloecken, Kenn- saetzen oder Kennsatzgruppen als auch zwischen bestimmten Kenn- satzgruppen untereinander anzeigt. Doppelbandmarke --------------- Zwei unmittelbar aufeinanderfolgende Bandmarken zur Anzeige des Endes eines Magnetbandes oder einer Dateimenge. Block ----- Folge von Zeichen, die in einem Vorgang aufgezeichnet oder gele- sen werden, d.h., eine physische Einheit bilden. Bloecke koennen sowohl Datenbloecke, als auch Kennsaetze und Bandmarken sein. Datei ----- Gesamtheit von Daten, die aus logischen Saetzen bestehen, welche sich auf ein Thema beziehen. Eine Datei stellt vom Gesichtspunkt des ablaufenden Programms eine Gesamtheit von logischen Saetzen dar und ist auf dem Datentraeger in Form einer Gesamtheit von Datenbloecken angeordnet. Datentraeger ------------ Abnehmbare physische Einheit, der Datentraeger kann ein oder mehrere Dateien oder einen Teil einer Datei enthalten. 6 Datenblock ---------- Block, der einen oder mehrere vollstaendige Saetze einer Datei enthaelt. Kennsatz -------- Block am Anfang oder Ende eines Datentraegers oder einer Datei, welcher zur Kennzeichnung oder Begrenzung des Datentraegers oder der Datei sowie zur Kontrolle des Zugriffs zu den Daten dient. Satz ---- Zusammenfassung von Daten, die von der Programmbearbeitung aus betrachtet, auf gleiche Weise verbunden sind, d.h., eine logische Einheit bilden. Satzformat ---------- Festlegung der Laenge und Segmentierung der Saetze einer Datei. Kennsatzroutine --------------- Folge von Anweisungen zur Verarbeitung von Kennsaetzen. 7 2. Dateiformat fuer Magnetplattenspeicher (FM16-D) ---------------------------------------------------- 2.1. Formatierung und Initialisierung ------------------------------------- Bei den Magnetplatten (Platten) muss zwischen Formatierung und Initialisierung unterschieden werden. Formatierung: Schreiben der Zylinder-, Spur-, und Sektoradres- sen. Dies kann auf folgende Arten erfolgen: - bereits beim Hersteller realisiert - Dienstprogramm FMT - On-Line-Geraetetestprogramm Initialisierung: Mittels des MCR-Kommandos "INITVOLUME" werden auf dem Datentraeger folgende Informationen geschrieben: Indexdatei = Systemladeblock, (INDEXF.SYS) Datentraegerkennsatz, Dateikennsatzliste, Dateikennsatz fuer INDEXF.SYS. Dateikennsatz fuer BITMAP.SYS. Dateikennsatz fuer BADBLK.SYS, Dateikennsatz fuer 000000.DIR. Dateikennsatz fuer CORIMG.SYS, Platz fuer weitere Dateikenn- saetze Datentraeger- belegungsdatei (BITMAP.SYS) Fehlerblock- datei (BADBLK.SYS) MFD-Datei (000000.DIR) CORIMG-Datei (CORIMG.SYS) 2.2. Indexdatei --------------- Dateispezifikation: DKn:[0,0]INDEXF.SYS;1 Das folgende Bild gibt einen Ueberblick ueber die Struktur der Platte nach Ausfuehrung des MCR-Kommandos "INITVOLUME". Die ein- zelnen Dateien und ihre Bestandteile werden in diesem und in den folgenden Kapiteln behandelt. 8 LBN VBN Datei ID |---------| 0 1 |Systemla-| | deblock |<----------------------- |---------| | . | . | . | |---------|H.IBSZ+H.IBLB | 1 |Daten- |-----------------|<-- | oder 2 |traeger- |--------------- | | | e*400 |kennsatz |------- n | | | | |---------|H.IBLB| | | | | . | | | | | . | | | | | . | | | | | |---------| | | | | | m 3 | #1 |-|<---| | | | | |---------| | Datei- | | | | >kennsatz-<-- | | | |---------| | liste | | | | #n |-| | | | |---------| | | | | | | |---------|<----------------- | | Alle m+n 3+n 1,1| INDEXF. |--------------------- | Dateikenn- | SYS |------------------------ saetze, |---------|--------------------------->einschl. der Datei- |---------| kennsatz- m+n+1 3+n+1 2,2| BITMAP. | --- liste | SYS |--------------------->|1| |---------| --- Bild 1 Struktur der Platte 9 |---------| --- m+n+2 3+n+2 3,3| BADBLK. |------------- |1| | SYS | | --- |---------| | | | | |---------| | | m+n+3 3+n+3 4,4| 000000. |--- | | | DIR | | | | |---------| | | | | | | |---------| | | | m+n+4 3+n+4 5,5| CORIMG. | | | | | SYS | | | | |---------| | | | | | | |---------| | | | 3+n+5 6,i| #6. | | | | |---------| | | | . | | | . | | | . V V V |----------| |--------| |-------| |32. MFD | |letzter | |Steuer-| |Eintritts-| |phys. | |daten | |punkte | |Block | |-------| |----------| |--------| . |-------| . | #1 |Daten- . |-------|traeger- bele- |-------|gungs- | #2 |datei |-------| . . . Bild 1 (Fortsetzung) Erklaerungen zu Bild 1: ----------------------- i = 1,2,...,177777 e = (1,2,...,e)*400: Plattenkapazitaet m = H.IBLB n = H.IBSZ 1 Kaestchen = 1 VB (256. Worte) 10 2.2.1. Systemladeblock ---------------------- Dieser Block beginnt immer auf dem ersten physischen Block auf der Platte. Eine Ausnahme bildet der Folienspeicher, bei dem die Spur 0 vom System aus Kompatibilitaetsgruenden freigehalten wird. Der Sy- stemladeblock beginnt deshalb auf der Spur 1. Ist die Platte die Systemplatte, enthaelt dieser Block ein Pro- gramm, das das Speicherabbild von einem vorher definierten Platz auf der Platte in den Internspeicher uebertraegt. Ist die Platte eine Datenplatte, enthaelt dieser Block ein Pro- gramm, das bei einem versehentlichen Ansprechen dieser Platte als Systemplatte folgende Ausschrift auf dem Bediengeraet aus- gibt: ***THIS VOLUME DOES NOT CONTAIN A HARDWARE BOOTABLE SYSTEM*** Dieser Block wird deshalb als Pseudosystemladeblock bezeichnet. Mit dem MCR-Kommando "INITVOLUME" wird nur ein Pseudosystemlade- block erstellt, d.h. mit diesem Kommando koennen nur Datenplatten initialisiert werden. Wenn der logische Block 0 auf der Platte fehlerhaft ist, ist diese Platte nicht als Systemplatte verwendbar. 2.2.2. Datentraegerkennsatz --------------------------- Dieser Block enthaelt Informationen ueber die Platte. Der Datentraegerkennsatz befindet sich auf dem logischen Block 1 der Platte. Ist dieser Block fehlerhaft, wird e*400 Bloecke weiter versucht ihn zu erstellen (bis zum Erreichen des Platten- endes). Beim Eingliedern der Platte wird u.a. aus den Informationen die- ses Blockes ein Datentraegersteuerblock (VCB, Volume Control Block) aufgebaut. In Tabelle 1 wird der Aufbau des Datentraegerkennsatzes beschrie- ben. 11 Tabelle 1 Aufbau des Datentraegerkennsatzes Offset | Bedeutung |Initiali- |Standard- symbo- | | |siert durch|wert lisch |oktal| |INI-Schlues| | | |selwort | -------|-----|----------------------|-----------|---------- | | | | H.IBSZ | 0 |Groesse der Dateikenn-| /MXF |1/8 d. Ka- | |satzliste (Anzahl der | |pazitaet | |logischen Bloecke) | |(CM 5400 | | | |=600. -------|-----|----------------------|-----------|---------- H.IBLB | 2 |erster logischer | /INDX |Platten- | |Block, auf der Datei- | |mitte | |kennsatzliste beginnt | | -------|-----|----------------------|-----------|---------- H.FMAX | 6 |maximale Anzahl der | /MXF |vgl. | |Dateien auf der Platte| |H.IBSZ -------|-----|----------------------|-----------|---------- - | 10 |systemintern genutzt | | -------|-----|----------------------|-----------|---------- - | 12 |systemintern genutzt | | -------|-----|----------------------|-----------|---------- - | 14 |systemintern genutzt | | -------|-----|----------------------|-----------|---------- H.VNAM | 16 |Datentraegername, ma- |Daten- | | |ximal 12 KOI-7-Code- |traegername| | |Zeichen (restl. Zei- | | | |chen werden geloescht)| | -------|-----|----------------------|-----------|---------- - | 32 |systemintern genutzt | | -------|-----|----------------------|-----------|---------- H.VOWN | 36 |UIC des Datentraeger- | /OWNER | | |eigentuemers | | ----------------------------------------------------------- H.VPRO | 40 |Datentraeger-Schutz- | /PRO |[RWED, | |code | | RWED, | | | | RWED,R] ----------------------------------------------------------- H.VCHA | 42 |Datentraegerkenndaten | | ----------------------------------------------------------- H.DFPR | 44 |Standarddateischutz | /FPRO |[RWED, | | | | RWED, | | | | RWED,R] -------|-----|----------------------|-----------|---------- - | 46 |systemintern genutzt | | -------|-----|----------------------|-----------|---------- H.WISZ | 54 |Fenstergroesse (Anzahl| /WIN | 7 | |der Blockadresszeiger | | | |pro Fenster) | | -------|-----|----------------------|-----------|---------- H.FIEX | 55 |Anzahl der Bloecke, um| /EXT | 5 | |die eine Datei erwei- | | | |tert werden kann, wenn| | | |die Bloecke, die sie | | | |benoetigt, vergeben | | | |sind. | | -------|-----|----------------------|-----------|---------- 12 Tabelle 1 (Fortsetzung) Offset | Bedeutung |Initiali- |Standard symbo- | | |siert durch|wert lisch |oktal| |INI-Schlues| | | |selwort | ----------------------------------------------------------- H.LRUC | 56 |Anzahl der im Intern- | /LRU | 3 | |speicher enthaltenen | | | |UFD-Dateisteuerbloecke| | -------|-----|----------------------|-----------|---------- - | 57 |systemintern genutzt | | ----------------------------------------------------------- H.CHK1 | 72 |Pruefsumme des 1.Teils| | | |des Datentraegerkenn- | | | |satzes | | -------|-----|----------------------|-----------|---------- H.VDAT | 74 |Erstellungsdatum und | | | |Erstellungszeit im | | | |KOI-7-Code (restliche | | | |Zeichen werden ge- | | | |loescht) | | -------|-----|----------------------|-----------|---------- - |112 |systemintern genutzt | | |- 775| | | -------|-----|----------------------|-----------|---------- H.CHK2 | 776 |Pruefsumme des Daten- | | | |traegerkennsatzes | | ----------------------------------------------------------- Fenster (WINDOW): Wird beim Einlesen eines Dateikennsatzes aufge- baut. Es enthaelt, entsprechend der Fenster- groesse, eine entsprechende Anzahl Blockadress- zeiger des Dateikennsatzes. Dateisteuerblock: Wird beim Einlesen eines Dateikennsatzes aufge- (FCB, File Con- baut. Er entspricht im Informationsgehalt etwa trol Block) dem Dateikennsatz (ausser Blockadresszeiger). Mit diesen Steuerbloecken wird eine Erhoehung der Zugriffsge- schwindigkeit zur Platte (weniger Plattenzugriffe) erreicht, da die Informationen, die auf der Platte enthalten sind, im Intern- speicher stehen. Dies erfordert aber Zugestaendnisse an den Spei- cherplatz. Eine weitere Erhoehung der Zugriffsgeschwindigkeit kann durch die Vereinbarung vieler UFD's erfolgen. Werden pro UFD maximal 32. Dateien (Eintrittspunkte) vereinbart, entspricht dies einem logi- schen Block und es erfolgt pro UFD nur ein Plattenzugriff (siehe Abschnitt 2.5., MFD-Datei). Der Anwender muss also zwischen diesen drei Moeglichkeiten opti- mieren. Eine weitere Senkung der Plattenzugriffe kann durch einen Dateizugriff mittels Datei-ID erfolgen (siehe Abschnitt 2.2.4.4., Dateiidentifikation). 13 2.2.3. Dateikennsatzliste ------------------------- Dieser Block steuert die Benutzung der Dateikennsaetze in der Indexdatei. Jedes bit in der Dateikennsatzliste repraesentiert einen Datei- kennsatz. Das bit, das einem Dateikennsatz zugeordnet ist, wird mittels der Dateinummer der Datei (siehe Abschnitt 2.2.4.4., Dateiidentifikation), die im 1. Teil der Dateiidentifikation (Datei-ID) enthalten ist, lokalisiert. geloeschtes bit: Block ist fuer Dateikennsatz frei. Dieser kann fuer das Erstellen einer neuen Datei (Dateikenn- satz) genutzt werden. gesetztes bit: Block ist fuer Dateikennsatz belegt. Die Bloecke fuer die Dateikennsatzliste und die fuenf nachfolgen- den Bloecke fuer die bei dem MCR-Kommando "INITVOLUME" erstellten Dateikennsaetze muessen in physisch fehlerfreien zusammenhaengen- den Bloecken auf der Platte angeordnet sein. 2.2.4. Dateikennsatz -------------------- Eine Datei besteht aus einem Dateikennsatz und Datenbloecken. Der Dateikennsatz enthaelt Informationen, die die Datei beschrei- ben und die Datenbloecke auf der Platte lokalisieren. Alle Dateikennsaetze sind in der Indexdatei gespeichert. Jeder Dateikennsatz ist 256. Worte lang und entspricht damit der Groes- se eines logischen Blockes. Ein Dateikennsatz besteht aus 3 Bereichen: 1) Kopfbereich 2) Identifikationsbereich 3) Zuweisungsbereich Jeder Kennsatz enthaelt im Wort 256. eine Pruefsumme. Diese wird bei jeder Uebertragung berechnet (Lesen/Schreiben), um zu si- chern, dass die Uebertragung ordnungsgemaess durchgefuehrt wurde. Mit dem MCR-Kommando "INITVOLUME" werden wie in 2.1. beschrieben, 5 Dateien, die fuer das Plattendateiformat des OMOS 1630 benoe- tigt werden, erstellt. Weiterhin wird je nach dem angegebenen Wert bei dem Schalter /INF=N in diesem Kommando eine entspre- chende Anzahl Bloecke fuer weitere Dateikennsaetze reserviert. In den Tabellen 2, 3 und 4 wird der Aufbau des Dateikennsatzes beschrieben. 14 2.2.4.1. Kopfbereich -------------------- Tabelle 2 Aufbau des Dateikennsatzes (Kopfbereich) Offset | Bedeutung symbolisch|oktal| ----------|-----|---------------------------------------------- | | H.IDOF | 0 | Anzahl der Worte vom Kopf des Dateikennsatzes | | bis zum Identifikationsbereich (27 (oktal)) ----------|-----|---------------------------------------------- H.MPOF | 1 | Anzahl der Worte vom Kopf des Dateikennsatzes | | bis zum Zuweisungsbereich (56 (oktal)) ----------|-----|---------------------------------------------- H.FNUM | 2 | Dateinummer ----------|-----|----------------- Datei-ID H.FSEQ | 4 | Dateifolgenummer ----------|-----|---------------------------------------------- | | - | 6 | systemintern genutzt ----------|-----|---------------------------------------------- H.FOWN | - | Offset zur Dateieigentuemerinformation | | (H.PROG/H.PROJ) ----------|-----|---------------------------------------------- H.PROG | 10 | Mitgliedsnummer ----------|-----|---------------- Nutzeridentifikation (UIC) H.PROJ | 11 | Gruppennummer ----------|-----|---------------------------------------------- | | H.FPRO | 12 | Dateischutzcode | | Mit diesem Schutzcode ist festgelegt, wie | | die Datei genutzt werden kann (R,W,E,D) | | und wer sie nutzen darf. Der Nutzer gibt den | | Schutzbereich an. ----------|-----|---------------------------------------------- H.UCHA | 14 | nutzergesteuerte Dateicharakteristika | | | | UC.CON = 200 | | Datei logisch zusammenhaengend. Bei einer | | Dateierweiterung wird dieses bit geloescht, | | unabhaengig ob die Erweiterung zusammen- | | haengende Bloecke fordert oder nicht. | | | | UC.DLK = 100 | | Datei fehlerhaft geschlossen ----------|-----|---------------------------------------------- H.SCHA | 15 | systemgesteuerte Dateicharakteristika | | | | SC.MDL = 200 Datei ist fuer Loeschen | | vorgesehen. | | SC.BAD = 100 In der Datei ist ein fehler- | | hafter Block. ----------|-----|---------------------------------------------- 15 Tabelle 2 (Fortsetzung) Offset | Bedeutung symbolisch|oktal| ----------|-----|---------------------------------------------- H.UFAT | 16 | Nutzerdateiattribute | . | | . | 16. Worte | . | | 55 | | | Die ersten 7 Worte sind ein direktes Abbild | | der ersten 7 Worte des FDB. | | die anderen 9 Worte werden nicht genutzt. ----------|-----|---------------------------------------------- S.HDHD | - | Groesse des Kopfbereiches --------------------------------------------------------------- 2.2.4.2. Identifikationsbereich ------------------------------- Tabelle 3 Aufbau des Dateikennsatzes (Identifikationsbereich) Offset | Bedeutung symbolisch|oktal| ----------|-----|---------------------------------------------- | | I.FNAM | 56 | Dateiname (Radix-50) | | maximal 9 Radix-50-Zeichen | | (restliche Zeichen werden geloescht) ----------|-----|---------------------------------------------- I.FTYP | 64 | Dateityp (Radix-50) ----------|-----|---------------------------------------------- I.FVER | 66 | Dateiversionsnummer (binaer) ----------|-----|---------------------------------------------- I.RVNO | 70 | Revisionsnummer | | Dieses Wort wird bei der Dateierstellung mit | | Null initialisiert. Eine Erhoehung um 1 er- | | folgt nach dem Schliessen der Datei bei Aktua- | | lisierung und Modifizierung. ----------|-----|---------------------------------------------- I.RVDT | 72 | Revisionsdatum (KOI-7-Code) |72/73| Tag Diese Werte sind nur von Bedeutung, |74/76| Monat wenn die Revisionsnummer | 77/ | Jahr ungleich Null ist. | 100 | ----------|-----|---------------------------------------------- I.RVTI | 101 | Revisionszeit (KOI-7-Code) |101/ | Stunde | 102 | |103/ | Minute vgl. I.RVDT | 104 | |105/ | Sekunde | 106 | ----------|-----|---------------------------------------------- I.CRDT | 107 | Erstellungsdatum (KOI-7-Code) vgl. I.RVDT ----------|-----|---------------------------------------------- I.CRTI | 116 | Erstellungszeit (KOI-7-Code) vgl. I.RVTI ----------|-----|---------------------------------------------- I.EXDT | 124 | Verfallsdatum (KOI-7-Code) ----------|-----|---------------------------------------------- 16 Tabelle 3 (Fortsetzung) Offset | Bedeutung symbolisch|oktal| ----------|-----|---------------------------------------------- - | 133 | zum Einstellen der Wortadresse ----------|-----|---------------------------------------------- S.IDHD | - | Groesse des Identifikationsbereiches --------------------------------------------------------------- 2.2.4.3. Zuweisungsbereich -------------------------- Tabelle 4 Aufbau des Dateikennsatzes (Zuweisungsbereich) Offset | Bedeutung symbolisch|oktal| ----------|-----|---------------------------------------------- | | M.ESQN | 134 | Erweiterungsnummer ----------|-----|---------------------------------------------- - | 135 | systemintern genutzt ----------|-----|---------------------------------------------- M.EFNU | 136 | Erweiterungsdateinummer ----------|-----|------------------------------ Erweiterungs- M.EFSQ | 140 | Erweiterungsdateifolgennummer datei-ID ----------|-----|---------------------------------------------- M.CTSZ | 142 | Groesse des Blockzaehlerfeldes des Block- | | adresszeigers in Byte ----------|-----|---------------------------------------------- M.LBSZ | 143 | Groesse des LBN-Feldes des Blockadresszeigers | | in Byte ----------|-----|---------------------------------------------- M.USE | 144 | Anzahl der Worte, die fuer die Blockadress- | | zeiger genutzt werden ----------|-----|---------------------------------------------- M.MAX | 145 | maximale Anzahl der Worte, die fuer die | | Blockadresszeiger in dem Blockadresszeiger- | | bereich zur Verfuegung stehen ----------|-----|---------------------------------------------- M.RTRV | - | Anfangsadresse des Blockadresszeigerbereiches ----------|-----|---------------------------------------------- S.MPHD | - | Groesse des Blockadresszeigerbereiches ----------|-----|---------------------------------------------- | 146 | | . | - | . | Blockadresszeiger | . | | 775 | ----------|-----|---------------------------------------------- H.CKSM | 776 | Pruefsumme des Dateikennsatzes --------------------------------------------------------------- Aufbau der Blockadresszeiger ---------------------------- Mit Hilfe des Blockadresszeigers wird die VBN in die LBN umgewan- delt. Jeder Zeiger besteht aus einem Zaehlfeld und einem LBN- Feld. 17 ------------------------------------------- Wort 1 | Zaehlfeld |hoeherwertiger Teil | | |der LBN | |-----------------------------------------| Wort 2 | niederwertiger Teil | | der LBN | ------------------------------------------- Das Zaehlfeld gibt die Anzahl der zusammenhaengenden Bloecke an (um 1 erniedrigt), und das LBN-Feld gibt die erste Blocknummer dieses zusammenhaengenden Bereiches an. Im Zuweisungsbereich ist von Byte 146.-775. Platz fuer diese Zeiger reserviert. Dies bedeutet, dass 102. Blockadresszeiger zur Verfuegung stehen, die 102. nicht zusammenhaengende Segmente auf der Platte lokalisie- ren. Auf Grund des maximalen Wertes des Zaehlfeldes von 256. kann mit einem Blockadresszeiger ein Segment mit maximal 256. Bloecken adressiert werden. Da insgesamt 102.Blockadresszeiger zur Verfue- gung stehen, koennen insgesamt maximal 26112. Bloecke adressiert werden. Werden mehr Blockadresszeiger gefordert, muss die Task F11ACP fuer Dateikennsatzerweiterung bei der Generierung eingebunden werden. Damit erfolgt automatisch eine Dateikennsatzerweiterung, wenn der Blockadresszeigerbereich nicht mehr ausreichend ist. Diese Erweiterungsdateikennsaetze werden auch in der Indexdatei gefuehrt, treten aber nicht in den Verzeichnisdateien auf. Ein Wert ungleich Null in M.EFNU gibt an, dass ein Erweiterungs- dateikennsatz existiert. Die Identifizierung erfolgt durch die Erweiterungsdatei-ID. Der Wert in M.ESQN wird genutzt um die Kennsaetze der Datei sequentiell zu nummerieren, 0 ist dem ersten zugeordnet, usw. Der Kopfbereich und der Identifikationsbereich werden automatisch vom ersten Dateikennsatz uebernommen. Bei einer Modifizierung des ersten Dateikennsatzes der Datei werden die Erweiterungsdatei- kennsaetze nicht modifiziert. 2.2.4.4. Dateiidentifikation ---------------------------- Jedem Dateikennsatz ist eine Dateiidentifikation (Datei-ID) zuge- ordnet. Sie besteht aus der Dateinummer und der Dateifolgenummer. Die Dateinummer ist ein Indexwert und gibt die relative Position des Dateikennsatzes in der Indexdatei an. Bsp.: Die Dateinummer ist 10., dann ist dies der 10. Dateikenn- satz in der Indexdatei, und das 10. bit in der Dateikenn- satzliste ist gesetzt. Die Dateifolgenummer hat die Aufgabe, die Eindeutigkeit der Datei zu gewaehrleisten. Bei jeder Erstellung einer Datei wird diese Nummer um eins erhoeht. 18 Bsp.: Wird die Datei mit der Dateinummer 10. geloescht, wird die Dateinummer in der entsprechenden Verzeichnisdatei ge- loescht. (Wort 1 im entsprechenden Eintrittspunkt der Ver- zeichnisdatei, siehe Abschnitt 2.5., MFD-Datei). Weiter- hin werden das 10. bit in der Dateikennsatzliste und die entsprechenden bit in der Datentraegerbelegungsliste geloescht, die dem physischen Block des Dateikennsatzes und der Datenbloecke zugeordnet sind. Bei einer erneuten Verwendung dieses Blockes in der Index- datei fuer einen Dateikennsatz wird das 10. bit in der Dateikennsatzliste wieder gesetzt, die entsprechenden bit in der Datentraegerbelegungsdatei gesetzt, die Dateinummer in die Verzeichnisdatei wieder eingetragen und die zugehoe- rige Dateifolgenummer um eins erhoeht. Damit ist die Ein- deutigkeit der Datei hergestellt, denn eine neuerstellte Datei mit dem gleichen Namen usw. wie die geloeschte, wuer- de sich jetzt durch die unterschiedliche Dateifolgenummer unterscheiden. 2.3. Datentraegerbelegungsdatei ------------------------------- Dateispezifikation: DKn:[0,0]BITMAP.SYS;1 Diese Datei dient zur Steuerung der Zuordnung der physischen Bloecke zu den Dateien und gibt Aufschluss darueber, welche phy- sischen Bloecke belegt bzw. frei sind. Jedem physischen Block auf der Platte ist ein bit zugeordnet. bit 0 1. physischer Block bit 1 2. physischer Block usw. Da ein virtueller Block aus 256. Worten mit insgesamt 4096. bit besteht, koennen in einem virtuellen Block 4096. physische Bloek- ke registriert werden. Der Plattentyp CM 5400 hat 4800.physische Bloecke, also werden zwei virtuelle Bloecke fuer die Datentrae- gerbelegungsliste benoetigt. Zusaetzlich wird noch ein virtueller Block fuer Steuerinformationen benoetigt. geloeschtes bit: dieser physische Block ist einer Datei zugeord- net gesetztes bit: dieser physische Block ist keiner Datei zugeord- net 2.4. Fehlerblockdatei --------------------- Dateispezifikation: DKn:[0,0]BADBLK.SYS;1 Wurde der Test auf fehlerhafte Bloecke mit dem Dienstprogramm BAD durchgefuehrt, befinden sich die entsprechenden Informationen im letzten fehlerfreien physischen Block auf der Platte. Bei einer nachfolgenden Initialisierung werden bei dem Schalter /BAD=[AUTO] diese Angaben von dem MCR-Kommando "INITVOLUME" ver- arbeitet. Mit dem Schalter /BAD=[MAN] ist eine manuelle Eingabe der fehlerhaften Bloecke von der Bedieneinheit moeglich. 19 Bei Vorhandensein von fehlerhaften Bloecken werden im Dateikenn- satz die entsprechenden Bloecke durch die Blockadresszeiger ange- geben, und durch die zugeordneten geloeschten bit in der BITMAP.SYS sind diese fehlerhaften Bloecke von der weiteren Ver- gabe ausgeschlossen. 2.5. MFD-Datei -------------- Dateispezifikation: DKn:[0,0]000000.DIR;1 Die Hauptverzeichnis-Datei (MFD-Datei, Master File Directory) ist eine Verzeichnisdatei. Sie ist genauso aufgebaut wie die Nutzerverzeichnis-Dateien (UFD-Datei, User File Directory). Die MFD-Datei enthaelt die Eintrittspunkte der 5 beim MCR-Komman- do "INITVOLUME" erstellten Dateikennsaetze und aller Datei- kennsaetze der UFD-Dateien. In einer Verzeichnisdatei sind ausschliesslich Eintrittspunkte, deren Aufbau im folgenden beschrieben ist, enthalten: Wort 1 | Dateinummer ---------|----------------- Datei-ID Wort 2 | Dateifolgenummer ---------|------------------------- Wort 3 | 0 ---------|------------------------- Wort 4-6 | Dateiname in RADIX-50 | (linksbuendig) ---------|------------------------- Wort 7 | Dateityp in RADIX-50 ---------|------------------------- Wort 8 | Versionsnummer oktal Damit sind in jedem virtuellen Block 32. Eintrittspunkte zu je 8. Worten enthalten. Ueber diese Eintrittspunkte wird der Dateikennsatz in der Index- datei und damit die Datei selbst gefunden. Der MFD enthaelt eine Liste von allen UFD auf dem Datentraeger, und jeder UFD enthaelt eine Liste von allen ihm zugeordneten Nutzerdateien. Die MFD-Datei wird mit dem MCR-Kommando "INITVOLUME" und die UFD- Datei mit dem MCR-Kommando "UFD" erstellt. 2.6. CORIMG-Datei ----------------- Diese Datei enthaelt Hinweise auf die Pruefpunktbereiche auslagerbarer Aufgaben. 20 3. Dateiformat fuer Magnetband (FM16-M) ----------------------------------------- Mit dem Dateiformat FM16-M wird fuer den Datenaustausch auf Mag- netbaendern der Aufbau der Datenbloecke einer Datei und deren Verarbeitung festgelegt. 3.1. Format und Inhalt der Kennsaetze --------------------------------------- Kennsaetze sind 80 Bytes lang und werden ihrer Bestimmung nach in 2 Arten unterteilt: - Standardkennsaetze - Benutzerkennsaetze Die Kennzeichnung der Kennsaetze erfolgt in den ersten 4 Bytes durch Kennsatzbenennung und Kennsatznummer. Entsprechend ihrer Verwendung werden die Kennsaetze in obligatorische und nicht obligatorische Kennsaetze unterteilt. 3.1.1. Datentraegerkennsatz VOL1 -------------------------------- Der Datentraegerkennsatz VOL1 dient zur Ueberpruefung der richti- gen Auswahl des Datentraegers und ist ein Kennzeichen des Eigen- tuemers. Tabelle 5: Datentraegerkennsatz VOL1 --------------------------------------------------------- | Position | Bedeutung | Laenge in| Inhalt | | | Bytes | --------------------------------------------------------- | 1 - 3 | Kennsatzart | 3 | VOL --------------------------------------------------------- | 4 | Kennsatz- | 1 | 1 | | Nummer | | --------------------------------------------------------- | 5 - 10 | Datentraeger-| 6 | Datentraegername | | kennzeichen | | wird vom Eigen- | | | | tuemer zugeordnet, | | | | belieb. alphanum. | | | | Zeichen im | | | | KOI-7-Code --------------------------------------------------------- | 11 | Zugriffskenn-| 1 | Kennzeich. f. Zu- | | zeichen | | griffsrechte, | | | | durch Parameter | | | | /ACCESS des INI- | | | | Kommandos belegt, | | | | sonst Leerzeichen --------------------------------------------------------- | 12 - 37 | reserviert | 26 | Leerzeichen --------------------------------------------------------- 21 Tabelle 5 (Fortsetzung) --------------------------------------------------------- | Position | Bedeutung | Laenge | Inhalt | | | Bytes in | --------------------------------------------------------- | 38 - 51 | Eigentuemer- | 14 | Identifiziert den | | kennzeichen, | | Eigentuemer des | | Nutzeridenti-| | Magnetbandes (s. | | fikation | | Abschn. 3.1.1.1.) --------------------------------------------------------- | 52 - 79 | reserviert | 28 | Leerzeichen --------------------------------------------------------- | 80 | Kennsatz- | 1 | 1 | | Standardver- | | | | sion | | --------------------------------------------------------- 3.1.1.1. Erlaeuterungen zum Datentraegerkennsatz ------------------------------------------------ - Position 38-40 (Systemidentifikation). Die Systemidentifikation enthaelt folgende Zeichenfolge: D$B B Kennzeichen OMOS 1630 - Position 41-44 (Datentraegerschutzcode) Der Datentraegerschutzcode definiert die Nutzerrechte fuer den Datentraeger Position Klasse ------------------------------------------------ 41 System (UIC nicht groesser [7,255]) 42 Eigner (Gruppen - und Mitglieds-Nr.) 43 Gruppe (Gruppen-Nr.) 44 Alle anderen Nutzer Einer der folgenden Zugriffs-Codes kann fuer jede Zeichenposi- tion angegeben werden: Code Zugriffsrecht ------------------------- 0 Kein Zugriff 1 Nur Lesen 2 Erweitern 3 Lesen/Erweitern 4 Totaler Zugriff - Position 45-50 (Nutzeridentifikation UIC) Die ersten 3 Bytes enthalten die dezimale Gruppen-Nr., die naechsten 3 Bytes in dezimaler Darstellung die Mitgliedsnummer. - Position 51 Die letzte Position des Nutzeridentifikationsfeldes ist ein Leerzeichen. 22 Beispiel: --------- D$B 1410 035120 --- ---- ------ - | | | | | | | Pos. 51 | | | | | -----Pos. 45-50 | | der UIC ist [35,120] | | | -----------Pos. 41-44 | System und Gruppe haben Lese-Zugriff | Eigner hat totalen Zugriff | alle anderen haben keinen Zugriff | ---------------Datei wurde fuer OMOS 1630 erstellt 3.1.2. Datei-Anfangskennsatz HDR ---------------------------------- Jeder Datei geht mindestens ein Datei-Anfangskennsatz voraus. Dieser Kennsatz enthaelt Informationen ueber die Datei und dient zu deren Auffindung und Verarbeitung. 3.1.2.1. Erster Datei-Anfangskennsatz HDR1 ------------------------------------------ Tabelle 6 Erster Datei-Anfangskennsatz HDR1 --------------------------------------------------------- | Position | Bezeichnung |Laenge in | Inhalt | | |Bytes | --------------------------------------------------------- | 1 - 3 | Kennsatzart | 3 | HDR --------------------------------------------------------- | 4 | Kennsatz-Nr. | 1 | 1 --------------------------------------------------------- | 5 - 21 | Dateiidentifi-| 17 | beliebige vom | | kation | | Nutzer festgel. | | | | alphanumerische | | | | Zeichen im KOI-7- | | | | Code --------------------------------------------------------- | 22 - 27 | Datenmengen- | 6 | kennzeichnet die | | kennzeichen | | Datenmenge,zu der | | | | diese Datei ge- | | | | hoert --------------------------------------------------------- | 28 - 31 | Dateisektions-| 4 | num. Zeichen,gibt | | nummer | | die Datentraeger- | | | | folge-Nr.(0001- | | | | 9999)in Bezug auf | | | | die Datei an. | | | | Begonnen wird | | | | mit 0001. 23 Tabelle 6 (Fortsetzung) --------------------------------------------------------- | Position | Bezeichnung |Laenge in | Inhalt | | |Bytes | --------------------------------------------------------- | | | | jeder folgende | | | | Datentraeger be- | | | | sitzt eine um 1 | | | | groessere Daten- | | | | traegerfolge-Nr. --------------------------------------------------------- | 32 - 35 | Datei-Nr. | 4 | gibt die Folge-Nr | | | | der Datei in Be- | | | | zug auf andere | | | | Dateien auf dem | | | | Datentraeger an. | | | | Die Nummer der | | | | ersten Datei be- | | | | ginnt mit 0001. --------------------------------------------------------- | 36 - 39 | Generations-Nr| 4 | num. Zeichen, mit | | | | 0001 beginnend --------------------------------------------------------- | 40 - 41 | Generations- | 2 | num. Zeichen mit | | version | | 0 beginnend zur | | | | Unterscheidung | | | | der aufeinander- | | | | folgenden Wieder- | | | | holungen dersel- | | | | ben Generation --------------------------------------------------------- | 42 - 47 | Erstellungs- | 6 | kein Dat. 000000 | | datum | | Dat.: JJTTT | | | | JJ-Jahr (00-99) | | | | TTT-Tag(001-366) --------------------------------------------------------- | 48 - 53 | Verfalls- | 6 | siehe 42-47 | | datum | | --------------------------------------------------------- | 54 | Zugriffs- | 1 | Leerzeichen, be- | | vermerk | | deutet unbegrenz- | | | | ter Zugriff --------------------------------------------------------- | 55 - 60 | Blockzaehler | 6 | muss Nullen ent- | | | | halten --------------------------------------------------------- | 61 - 73 | Systemcode | 13 | enthaelt Informa- | | | | tion, die das Be- | | | | triebssystem | | | | kennzeichnet --------------------------------------------------------- | 74 - 80 | reserviert | 7 | enthaelt Leerzei- | | | | chen 24 3.1.2.2. Zweiter Datei-Anfangskennsatz HDR2 ------------------------------------------- Der zweite Datei-Anfangskennsatz wird notwendig, wenn das Datei- format von den Standardwerten des Dateiformates abweicht. Tabelle 7 Zweiter Datei-Anfangskennsatz HDR2 -------------------------------------------------------- |Position| Bezeichnung |Laenge |Inhalt | | |in Bytes| -------------------------------------------------------- | 1 - 3 | Kennsatzart | 3 |HDR -------------------------------------------------------- | 4 | Kennsatz-Nr | 1 |2 -------------------------------------------------------- | 5 | Aufzeich- | 1 |F = feste Laenge | | nungsformat | |D = variable Laenge | | | |S = segmentierte Saetze | | | | variabler Laenge | | | |U = undefiniert -------------------------------------------------------- | 6 - 10| Blocklaenge | 5 |Num. Zeichen im KOI- | | | |7-Code, gibt max.Block- | | | |laenge an. -------------------------------------------------------- | 11 - 15| Satzlaenge | 5 |Num. Zeichen im KOI- | | | |7-Code | | | |bei F tatsaechliche | | | |Laenge, bei D die max. | | | |Satzlaenge einschliess- | | | |lich Zaehlerfeld, bei S | | | |die max. Satzlaenge | | | |ohne Segmentkontroll- | | | |woerter, bei U undefi- | | | |nierter Inhalt -------------------------------------------------------- | 16 - 50| systemabh. | 35 |Pos. 16-36 Leerzeichen | | Information | |Pos. 37 definiert For- | | | |matsteuerzeichen und | | | |kann eins der folgenden | | | |Zeichen enthalten: | | | |A-das 1.Byte des | | | |Satzes enthaelt | | | |FORTRAN-Steuerzeichen | | | |Space-Neue Zeile/ | | | |Wagenruecklauf wird | | | |eingesetzt zwischen | | | |den Saetzen | | | |M - der Satz enthaelt | | | |alle Formatsteuerungs- | | | |informationen -------------------------------------------------------- | 51 - 52| Pufferoffset| 2 |num. Zeichen im | | | |KOI-7-Code, 00 wenn | | | |das Band von OMOS 1630 | | | |aufgebaut worden ist -------------------------------------------------------- | 53 - 80| reserviert | 28 |Leerzeichen 25 3.1.2.3. Dritter Datei-Anfangskennsatz HDR3 ------------------------------------------- Tabelle 8: Dritter Datei-Anfangskennsatz HDR3 -------------------------------------------------------- | Position| Bezeichnung | Laenge |Inhalt | | | in Bytes| -------------------------------------------------------- | 1 - 3 | Kennsatzbe- | 3 | HDR | | zeichnung | | -------------------------------------------------------- | 4 | Kennsatz-Nr | 1 | 3 -------------------------------------------------------- | 5 - 68 | systemintern| 64 | -------------------------------------------------------- | 69 - 80| Reserviert | 10 | Leerzeichen -------------------------------------------------------- 3.1.3. Datei-Endekennsaetze EOF1/EOF2 ------------------------------------- Tabelle 9: Erster und Zweiter Datei-Endekennsatz EOF1/EOF2 -------------------------------------------------------- | Position| Bezeichnung | Laenge |Inhalt | | | in Bytes| -------------------------------------------------------- | 1 - 3 | Kennsatzbe- | 3 | EOF | | zeichnung | | -------------------------------------------------------- | 4 | Kennsatz-Nr.| 1 | 1 bzw. 2 -------------------------------------------------------- | 5 - 54 | - | 50 |Siehe erster Datei- | | | |Anfangskennsatz unter | | | |Position 5-54 -------------------------------------------------------- | 55 - 60 | Blockzaehler| 6 |num. Zeichen, Anzahl | | | |der Datenbloecke der | | | |Datei ohne Kennsaetze | | | |und Bandmarken -------------------------------------------------------- | 61 - 80 | - | 20 |siehe erster Datei- | | | |Anfangskennsatz unter | | | |Position 61-80 -------------------------------------------------------- 26 3.1.4. Datentraeger-Endekennsaetze EOV1/EOV2 -------------------------------------------- Tabelle 10: Erster und Zweiter Datentraeger-Endekennsatz EOV1/EOV2 -------------------------------------------------------- | Position| Bezeichnung | Laenge |Inhalt | | | in Bytes| -------------------------------------------------------- | 1 - 3 | Kennsatz- | 3 | EOV | | bezeichnung | | -------------------------------------------------------- | 4 | Kennsatz-Nr | 1 | 1 bzw. 2 -------------------------------------------------------- | 5 - 54 | - | 50 |siehe erster Datei- | | | |Anfangskennsatz unter | | | |Position 5-54 -------------------------------------------------------- | 55 - 60 | Blockzaehler| 5 |num. Zeichen, Anzahl | | | |der Datenbloecke der | | | |letzten oder einzigen | | | |Datei auf dem Daten- | | | |traeger ohne Kenn- | | | |saetze und Bandmarken -------------------------------------------------------- | 61 - 80 | - | 20 |siehe erster Datei- | | | |Anfangskennsatz unter | | | |Position 61-80 -------------------------------------------------------- 3.2. Verarbeitung der Kennsaetze und Kennsatzfelder --------------------------------------------------- Um eine Verarbeitung der Kennsaetze durch das Betriebssystem OMOS 1630 zu gewaehrleisten, muessen die Kennsaetze VOL1, HDR1, EOF1 und EOV1 in der richtigen Anordnung vorhanden sein und die in dieser Schrift aufgezeigten Informationen enthalten. Die Kenn- saetze werden in zwei Arten unterteilt, in obligatorische Kenn- saetze (VOL1,HDR1,EOF1 und EOV1) und nicht obligatorische Kenn- saetze (HDR2 bis HDR9, EOF2 bis EOF9 und EOV2 bis EOV9). Alle diese Kennsaetze werden von den Kennsatzverarbeitungsrouti- nen erkannt und ausgewertet. Im Gegensatz dazu gibt es auch Be- nutzerkennsaetze UVLn, UHLn und UTLn. Diese Kennsaetze werden benutzt, um numerische Angaben ueber ein Band aufzunehmen und muessen vom Anwender selbst erstellt bzw. interpretiert werden. Der Datentraeger-Anfangskennsatz VOL1 dient zur Ueberpruefung der richtigen Auswahl des Datentraegers, wird an keiner anderen Stel- le des Magnetbandes verwendet und ist ein Kennzeichen des Eigen- tuemers. Der Datentraeger-Anfangskennsatz wird durch die Magnet- bandprimitivroutinen FCS-kompatibel nach der BOT-Marke erstellt. Jeder Datei geht ein Datei-Anfangskennsatz, beginnend mit HDR1, voraus. Dieser Kennsatz enthaelt Informationen ueber die Datei und wird zur Auffindung und Verarbeitung der Datei durch das Betriebssystem verwendet. 27 Die Daten einer Datei folgen dem letzten Datei-Anfangskennsatz und sind durch Bandmarken begrenzt. Die Daten sind in Saetzen zusammengefasst, diese bilden einen Datenblock und stellen eine physische Einheit dar. Damit sind auch Kennsaetze und Bandmarken Datenbloecke. Die Standardlaenge eines Datenblockes und eines Datensatzes betraegt 512 Bytes. Mit den Standardwerten wird gearbeitet, wenn HDR2 nicht vorhanden ist. Die minimale Blockgroesse bzw. die minimale Groesse eines Satzes fester Laenge betraegt 18 Bytes. Mit Hilfe des Dateibeschreibungsblockes kann durch den Makro FDBF$A die Blockgroesse definiert werden (siehe Anleitung fuer den Programmierer, Teil 5, Dateizugriffs- routinen FCS 1630). Die maximale Blockgroesse betraegt 8192 Bytes. Die Saetze auf dem Magnetband koennen sowohl feste als auch vari- able Laenge besitzen. Saetze fester Laenge sind in einem Block ohne Steuerinformationen enthalten. Der Block wird so begrenzt, dass Blockende und Satzende des letzten Satzes, der in den Block- puffer passt, zusammenfallen. Die Saetze duerfen die Blockpuffer- grenzen nicht ueberschreiten. Besitzen die Saetze variable Laenge, ist jedem Satz ein Zaehlfeld von 4 Bytes Laenge vorangestellt, welches die Laenge des Satzes enthaelt. Die 4 Bytes gehen mit in die Satzlaenge ein. Ein Auslassungszeichen (KOI-7-Code 136) zeigt das Ende der Daten in diesem Block an. Werden Saetze undefinierter Laenge auf Magnetband aufgezeichnet, so bedarf der Austausch der Daten einer besonderen Vereinbarung zwischen den Korrespondenten. Hinter dem letzten Datenblock einer Datei steht, durch eine Band- marke von den Daten getrennt, der Datei-Endekennsatz EOF1. Weite- re Dateiendekennsaetze EOF2 bis EOF9 koennen folgen. Nach dem letzten Datei-Endekennsatz EOFn koennen nochmals vom Anwender vereinbarte Benutzer-Dateiendekennsaetze folgen. Nach der letzten Datei-Endekennsatzgruppe ist eine Bandmarke aufzuzeichnen. Ist die Datei die einzige oder letzte Dateikennsatzgruppe auf dem Magnetband, wird eine Doppelbandmarke aufgezeichnet. Wenn ein Datentraeger endet, bevor die Datei vollstaendig aufge- zeichnet ist, d.h., die Datei mehr als ein Magnetband einnimmt, so sind nach dem letzten Datenblock der Datei auf dem Datentrae- ger die Bandmarke und der Datentraeger-Endekennsatz EOV1 zu schreiben. Werden weitere Datentraeger-Endekennsaetze (EOV2 bis EOV9) verwendet, so muessen sie unmittelbar hinter dem Kennsatz EOV1 stehen. Hinter dem letzten Datentraeger- Kennsatz wird eine Doppelbandmarke aufgezeichnet. 3.3. Anordnung der Dateien auf Magnetband ------------------------------------------- Folgende Symbole werden verwendet: * Kennzeichen fuer Bandmarke BOT Beginn des Bandes , Physische Satzbegrenzung 28 3.3.1. Einzeldatei auf Einzeldatentraeger ----------------------------------------- BOT,VOL1,HDR1,HDR2,HDR3*...Daten...*EOF1,EOF2** 3.3.2. Einzeldatei ueber mehrere Datentraeger --------------------------------------------- BOT,VOL1,HDR1,HDR2,HDR3*...Daten...*EOV1,EOV2** BOT,VOL1,HDR1,HDR2,HDR3*...Daten...*EOF1,EOF2** 3.3.3. Mehrere Dateien auf einem Datentraeger --------------------------------------------- BOT,VOL1,HDR1,HDR2,HDR3*...Daten...*EOF1,EOF2*HDR1, HDR2,HDR3*...Daten...*EOF1,EOF2** 3.3.4. Mehrere Dateien auf mehreren Datentraegern ------------------------------------------------- BOT,VOL1,HDR1,HDR2,HDR3*...Daten...*EOF1,EOF2* HDR1,HDR2,HDR3*...Daten...*EOV1,EOV2** BOT,VOL1,HDR1,HDR2,HDR3*...Daten...*EOF1,EOF2** HDR1,HDR2,HDR3*...Daten...*EOF1,EOF2** 3.4. Auswertung des Dateiidentifikators durch OMOS 1630 -------------------------------------------------------- Der Dateiidentifikator (HDR1, Position 5-21) wird durch OMOS 1630 wie folgt verarbeitet: 1) Die ersten maximal neun Zeichen werden vom KOI-7-Code in RADIX-50-Code umgewandelt. Die Konvertierung erfolgt solange, bis eine der folgenden Bedingungen eintritt: Punkt (.) wurde erkannt 9 Zeichen sind konvertiert Konvertierungsfehler 2) Nach Erkennen des Punktes werden die nachfolgenden 3 Zeichen als Dateityp angesehen. Ist ein Fehler aufgetreten oder alle 9 Zeichen sind konvertiert worden, wird als naechstes Zeichen ein Punkt erwartet und die nachfolgenden 3 Zeichen als Datei- typ behandelt. 3) Die Versions-Nr. wird wie folgt von der Generations- und Gene- rationsversions-Nr. abgeleitet: (Generations-Nr. - 1) * 100 + Generationsversion + 1 Wird eine ungueltige Versionsnummer errechnet, so wird sie auf 1 gesetzt. Bei der Dateiausgabe wird der Datei-Identifikator wie folgt behandelt: 1) Der Dateiname befindet sich auf den ersten 9 Positionen des Dateiidentifikatorfeldes. Er kann bis zu 9 Zeichen lang sein und wird mit einem Punkt abgeschlossen. 29 2) Der Dateityp wird mit maximal drei Zeichen nach dem Punkt angegeben. Die verbleibenden Plaetze werden mit Leerzeichen aufgefuellt. 3) Die Versionsnummer wird im Generations- und Generationsnum- mernfeld angegeben. 3.5. Bandendebehandlung ----------------------- Die Bandendebehandlung wird selbstaendig vom Magnetbanddateipro- zessor ausgefuehrt. Dateien, die auf einem anderen Magnetband fortgesetzt werden, erfordern, dass der naechste Datentraeger be- reits eingegliedert ist bzw. eine derartige Anweisung ueber die Bedieneinheit abgefordert wurde. 30 Abkuerzungsverzeichnis ---------------------- ACNT (Account File Maintenance Wartungsprogramm fuer Nutzer- Program) verzeichnisse ACP (Ancillary Control Processor) Zusatzsteuerroutine AS Anschlusssteuereinheit AFP - fuer Festplattenspeicher AFS - fuer Folienspeichereinheit AIP - fuer paralleles Interface AIS - fuer serielles Interface AKP - fuer Kassettenplatten- speicher AMB - fuer Magnetbandspeicher APR (Address Page Register) Seitenadressregister ASCII (American Standard Code entspricht KOI7-Code for Information Interchange) AST (Asynchronous Systemtrap) Asynchroner Systemtrap AT Verarbeitungsprogramm fuer Indirekt-Kommandodateien BAD (Bad Block Locator Utility) Plattenpruefprogramm BDE Bedieneinheit BOT (Begin Of Tape) Bandanfang BRU (Backup and Restore Utility) Datensicherungsprogramm BS Betriebssystem CDA (Crash Dump Analyzer) Abbruchanalyseprogramm CIB (Controller Initialization Initialisierungsblock Block) fuer die Anschlusssteuer- einheit CLI (Command Line Interpreter) Programm zur Bearbeitung von Kommandos CMP (File Compare Utility) Dateivergleichsprogramm CSI (Command String Interpreter) Kommandozeileninterpreter DCB (Device Control Block) Geraetetypsteuerblock DCL Kommandosprache DCL DDT (Driver Dispatch Table) Tabelle der Eintrittspunkte eines Drivers DEP (Debugging Program) Testprogramm DFNB (Default File Name Block) Standarddateinamenblock DIC (Directive Identifikation Code) Anweisungsidentifikationscode DMP (Dump Utility) Dateidruckprogram DPB (Directive Parameter Block) Anweisungsparameterblock DSC (Disk Save and Compress) Dateirettungs- und Ver- dichtungsprogramm DSW (Directive Status Word) Anweisungsstatuswort E/A Ein- und Ausgabe EDI (Line Text Editor) Editoren EDT (Standard Editor) EFN (Event Flag Number) Ereignisflagnummer EOF (End of File) Dateiendekennsatz EOV (End of Volume) Datentraegerendekennsatz ERL (Error Logging) Fehlerregistrierung 31 FCB (File Control Block) Dateisteuerblock FCS (File Control Services) Dateizugriffsroutinen FDB (File Descriptor Block) Dateibeschreibungsblock FD16 Datensicherungsformat FE16 Global genormte Dateiformate (Dateiformat "established") FEX (File Exchange Utility) Dateiaustauschprogramm FIFO (First in - first out) FIFO-Speicherprinzip FL16 Dateiformat LAOS 1630 FLX (File Transfer Utility) Dateiumwandlungsprogramm FMT (Format Utility) Formatierungsprogramm fuer Magnetplatten FM16 Dateiformat MOOS 1600 und OMOS 1630 FNB (File Name Block) Dateinameblock FPEM (Floating-point Emulation Program) Gleitkommaemulator FPS Festplattenspeicher FQ16 Lokal genormte Dateiformate (Datenformat "queered") FSE Folienspeichereinheit FSR (File Storage Region) Dateispeicherbereich GCML (Get Command Line) Kommandozeilenlesen HDR (Header Label) Dateianfangskennsatz ICB (Interrupt Control Block) Interruptsteuerblock ID Identifikation IESR (Interrupt Enable/Disable Service Routine) Interrupt-Erlauberoutine IOX (I/O Exerciser) Allgemeines Geraetestprogramm ISR (Interrupt Service Routine) Interrupt-Bedienroutine ITB (Interrupt Transfer Block) Interrupt-Transfer-Block KBR Kommerzielles Basisrechner- system KMBE Kassettenmagnetbandeinheit KOI-7 entspricht ASCII-Code KROS Kombinat Robotron Standard KPS Kassettenplattenspeicher LBL Lochbandleser LBN (Logical Block Number) Logische Blocknummer LBR (Librarian Utility) Bibliothekar LC (Location Counter) Speicherplatzzaehler des Assemblers LUN (Logical Unit Number) logische Geraetenummer LUT (Logical Unit Table) Tabelle der logischen Geraetenummern LP (Line Printer) Zeilendrucker MAC Makro-Assembler MBG Magnetbandgeraet MCR Kommandoprogramm MFD (Master File Directory) Hauptdateiverzeichnis MGS Mikrorechnergeraetesystem MOEX Exekutive des MOOS MOOS 1600 Modulares Operationssystem 32 NP Nutzerprogramm OCB (Offspring Control Block) Block zur Steuerung der Mutter/Tochter-Taskverbindung ODT (On Line Debugging Tool) Testprogramm OMEX Exekutive des OMOS OMOS 1630 Optimiertes Modulares Betriebssystem PAR (Page Address Register) Seitenadressregister PAT (Objekt Module Patch Utility) Objektmodul-Korrekturprogramm PC (Program Counter) Befehlszaehler PCB (Partition Control Block) Partitionsteuerblock PDR (Page Description Register) Seitenbeschreibungsregister PIP (Peripheral Interchange Dateitransferprogramm Program) PRESRV (Preservation Utility) Duplizier- und Sicherungs- programm PRT (Print spooler) Print-Spooler PS (Processor Status Word) Prozessorstatuswort RAM (Random Access Memory) Speicher mit wahlfreiem Zu- griff RDB (Region Definition Block) Region-Definitionsblock SCB (Status Control Block) Statussteuerblock SD Seriendrucker SHF (Shuffler) Speicherverdichtungsprogramm SLP (Source Line Processor) Quelltext-Korrekturprogramm SKR System der Kleinrechner SP (Stack-pointer) Stackpointer, Kellerzeiger SR (Status Register) Statusregister SRD (Sort Directory Program) Sortierprogramm fuer Verzeichnisdateien SST (Synchronous Systemtrap) Synchroner Systemtrap STD (System Task Directory) Systemtaskverzeichnis SVE Speichervermittlungseinheit TCB (Task Control Block) Tasksteuerblock TKB (Task Builder) Taskbilder TKTN (Task Termination Noti- Mitteilungsroutine fuer Task- fication Routine) beendigung UCB (Unit Control Block) Geraetesteuerblock UFD (User File Directory) Nutzerdateiverzeichnis UIC (User Identification Code) Nutzeridentifikationscode UHL (User Header Label) Benutzereigene Datei- kennsaetze UTL (User Trailer Label) UVL (User Volume Label) VB (Virtual Block) Virtueller Block VBN (Virtual Block Number) Virtuelle Blocknummer VCB (Volume Control Block) Datentraegersteuerblock VFY (File Structure Verification Dateipruefprogramm Utility) VMR (Virtual Monitor Console Virtuelles Kommandoprogramm Routine) 33 VOL (Volume Label) Datentraegerkennsatz WDB (Window Definition Block) Fenster-Definitionsblock XDT (Executive Debugging Tool) Exekutivetesthilfe ZAP (Task Image File Patch) Dateikorrekturprogramm ZVE Zentrale Verarbeitungseinheit 34 Sachwortverzeichnis ------------------- Seite Benutzerkennsaetze 21,27,28 Block 6,10,11,13,15,18,19 Blockadresszeiger 6,12,17,18 Blocknummer 17 Blockzaehler 23 CORIMG.SYS 8,20 Datei 6,24,28,29 Datei-ID 13,15,18,19,20 Dateiidentifikation 18,19,24,29 Dateikennsatz 8,14,17,18,19,20,23,25,26,27,28 Dateikennsatzliste 8,13 Dateisteuerblock 13 Dateityp 19,24 Datentraegerbelegungsdatei 8,10,19 Datentraegerkennsatz 8,11,12,21,22,25,26-28 Datentraegerschutz 21 Fehlerblockdatei 8,19,20 Formatierung 8 Identifikationsbereich 14,16 Indexdatei 8,13 Initialisierung 8,11,19 Kopfbereich 14,15,16,17 MFD-Datei 8,19,20 Nutzeridentifikationscode 14,21 Systemladeblock 8,11 UFD-Datei 19 UIC 15,22 Zugriffsrechte 21,22,23 Zuweisungsbereich 14,17 35