File/Dateiverwaltung Die Fileverwaltung muß die Umsetzung von einer logischen Ebene, in der die Dateien mit selbst gewählten Namen bezeichnet werden, zu einer physikalischen Ebene, d. h. zu konkreten Arealen auf einem Datenträger leisten. dat1.txt prog_6.pas text6.doc test.c File/DateiVerwaltung Adressen bestehend aus Seite, Spur und Sektornummer Es gibt verschiedene Verwaltungssysteme: FAT - File Allocation Table z. B. DOS, Windows 3.11, 95 (Zur Zeit bei allen externen Flash-Speichern) UNIX-File-System(Ext2FS,Ext3FS) bei allen UNIX-ähnlichen Systemen. HPFS - High Performance File System z. B. bei OS/2 NTFS - New Technologie File System bei Windows NT Entwicklungsziele bei den Systemen: Sicherer und schneller Zugriff zu den Dateien. Die Zugriffsgeschwindigkeit hängt wesentlich von de Zugriffsgeschwindigkeit des Datenträgers ab. Die Maßzahl dafür ist die Mittlere Zugriffszeit. Sie beträgt bei Festplatten ca. 10 ms, bei Disketten wegen der geringen Umdehungszahl von 300 Umdrehungen pro Min. ca. 200 ms. Die Verwaltungssysteme müssen die Dateien so anordnen, daß die Wege des Schreib-/Lesekopfes so gering wie möglich sind. Die Fileverwaltungssysteme benötigen eine Reihe von Verzeichnisdateien, die ebenfalls auf dem Datenträger angeordnet sind. S. Adomssent, Betriebssysteme/Rechnernetze, Kap. 5 Seite 1 Aufbau von Festplatten, Disketten Spur 0 Spur 1 Sektoren Seite 1 Plattenstapel Seite 6 Die Datenträger sind in Spuren und Sektoren aufgeteilt. Bei Festplatten können mehrere Platten übereinander liegen. Die Sektoren (in der Regel 512 Byte) bilden die adressierbare Einheit. Die Kapazität der Speicher ergibt sich aus dem Produkt von Spurenzahl * Sektoren/Spur * Seitenzahl * 512 Bei der Steigerung der Kapazität wird insbesondere die Zahl der Spuren erhöht. Danach kommt die Zahl der Sektoren. Die Zahl der Platten ist weitgehend konstant. 1999: max. Beschreibungsdichte ca. 30 Gbyte/Quadratzoll. Aufgabe: Bestimmen Sie die Größe eines "Bitfeldes". S. Adomssent, Betriebssysteme/Rechnernetze, Kap. 5 Seite 2 Aufbau der Datenträger bei FAT-orientierter Fileverwaltung Dateien des Betriebssystems oder User-Dateien Root-Direktory FAT Nr. n (im allgemeinen nicht vorhanden) FAT Nr. 2 FAT Nr. 1 Bootsektor Mit einem einfachen Werkzeug wie PCTOOLS kann man den log. Aufbau eines Datenträgers nachvollziehen. Suchen Sie die einzelnen Teile auf einer Diskette. Die Größe der FAT-Bereiche sind von der Kapazität des Datenträgers und der Clustergröße abhängig. Aus Sicherheitsgründen sind sie doppelt ausgeführt. Sie stellen die zentralen Tabellen des Systems dar. Die Größe der Root-Direktory ist einstellbar. Im Boot-Sektor gibt es dafür einen Parameter. Der Bootsektor ist 512 Byte groß und enthält außer einem Ladeprogramm eine Tabelle mit wesentlichen Parametern des Datenträgers wie Sektorgröße (in der Regel 512 Byte) und Zahl der Sektoren. Weiter Angaben zum FAT-System wie Zahl der FAT-Tabellen (in der Regel 2) und Größe der Root-Direktory. S. Adomssent, Betriebssysteme/Rechnernetze, Kap. 5 Seite 3 Aufbau eines Sektors Beispiel : Diskettensektor Beschreibungsverfahren: MFM Spurbeginn GAP 4A: 80 Byte 4e SYNC 12 Byte 00 IAM: 4 Byte c2 c2 c2 fc Gap 1: 50 Byte 4e Sektor SYNC: 12 Byte 00 IDAM: 4 Byte a1 a1 a1 fe ID: 4 Byte: tr hd sc sz*) CRC: 2 Byte GAP 2 22 Byte 4e SYNC: 12 Byte 00 DAM: 4 Byte a1 a1 a1 fb Daten: 512 Byte CRC: 2 Byte GAP 3 80 Byte 4e ..... EOT *) tr -Nummer der Spur(track); hd -Nummer des Kopfes (header) sc - Nummer des Sektors ; sz - Größe des Sektors Der CRC ist eine Prüfgröße, die der Diagnostik von Fehlern beim Lesevorgang dient. Aufbau eines Clusters Für die Verwaltung werden 1 2 4 8 16 32 Sektoren zu einem Cluster zusammengefaßt. Die Nummern der Cluster spielen bei der Gestaltung der FAT die wichtigste Rolle. Eine Datei wird immer in ganzen Vielfachen von Clustergrößen gespeichert. Bei kleinen Dateien und großen Clustern gibt es großen Speicherverschnitt. Kleine Cluster benötigen große FAT-Tabellen. S. Adomssent, Betriebssysteme/Rechnernetze, Kap. 5 Seite 4 GAP 4B EOT GAP 3 Daten CRC DAM SYNC GAP 2 CRC ID IDAM Sektor 1 SYNC GAP 1 IAM SYNC GAP 4A Spurbegin n Berechnung des CRC*), FCB*) (Verkürztes Beispiel) – Modulo – 2 – Division Generatorpolynom: x7 + x4 + x3 + x + 1 1010001000001001 10011011 = 101111011 Rest 1101100 10011011 01110010 00000000 11100100 10011011 Gesicherte Bitkette: 11111110 10011011 1010001000001001/1101100 11001010 10011011 10100011 10011011 01110000 00000000 111000000 10011011 11110111 10011011 1101100 Rechenregel: 0 XOR 0 = 0 0 XOR 1 = 1 1 XOR 0 = 1 1 XOR 1 = 0 Erfolg bei der Fehlererkennung: - Einzelbitfehler: Doppelbitfehler: Fehler mit einer geraden Anzahl von Bit: Bündelfehler kürzer oder gleich 16Bit: Bündelfehler mit 17Bit: alle anderen Bündelfehler: 100% 100% 100% 100% 99,9969% 99,9984% Übliche Generator-Polynome: CRC-CCITT: G(x)= x16 + x12 + x5 + 1 10001000000100001 IBM-CRC: G(x)= x16 + x15 + x2 + 1 11000000000000101 802.3-Frames: G(x)= x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1 *)CRC - Cyclic Redunduncy Check ; FCB - File Control Block S. Adomssent, Betriebssysteme/Rechnernetze, Kap. 5 Seite 5 Aufbau des Bootsektors Beispiel: Bootsektor einer Diskette und einer Festplatte 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e ........ Sprung in das Bootprogramm jmp 2b nop jmp 36 nop Bytes pro Sektor 200 200 Sektoren pro Cluster Anzahl der Bootsektoren 2 1 16 1 Name der Betriebssystemsversion oder des formatierenden Programms (fast ohne Bedeutung) Anzahl der FAT´s 2 Anzahl der Einträge in der e0 Root Anzahl der Sektoren 960 auf dem Datenträger Kennung des Datenträgers F9 Sektoren pro FAT 7 2 200 Sektoren pro Spur f 20 Seiten des Datenträgers 2 4 Sektoren für Partitionen 0 11 e77f F8 40 Bootprogramm S. Adomssent, Betriebssysteme/Rechnernetze, Kap. 5 Seite 6 FAT - Fileverwaltungsystem Aufbau einer Directory Der Pointer stellt eine Verbindung zu der FAT-Tabelle her. Der Eintrag für eine Datei in der Directory ist 32 Byte lang. In diesem Eintrag sind die Angaben zur Datei enthalten, die mit dem Kommando DIR zur Verfügung gestellt werden. 0 1 2 3 4 5 6 7 Dateiname reserviert Zeit 8 9 A B Typ Attr. Datum Pointer C D E F resreviert Dateigröße Die Angaben zur Uhrzeit und Datum werden in Platz sparender Weise gemacht. Aus der endlichen Zahl der bereit gestellten Bits ergibt sich ein "Geburtstag und ein Sterbedatum" für DOS. Als Beispiel soll die Darstellung des Datums angegeben werden. 19hex 18hex j j j j j j j m m m m t t t t t Jahr - 1980 Monat Tag Wie lange kann noch mit den FAT-Dateiverwaltungssystemen gearbeitet werden? Beispiel für die Belegung eines Attribut-Bytes 00000000 xxxxxxx1 xxxxxx1x xxxxx1xx 00001000 00010000 xx1xxxxx unbeschränkter Zugriff Datei kann nur gelesen werden R/O Attibut Verborgene Datei Systemdatei logischer Name des Mediums Vol-Name Kennzeichen einer Sub-Direktory Zeichen für die Archivierung, BACK-UP setzt 1 zurück S. Adomssent, Betriebssysteme/Rechnernetze, Kap. 5 Seite 7 Das File-Verwaltungssystem FAT Direktory-Eintrag FAT 00 01 07 08 0a 0c 07 08 14 16 18 1a 1c 1e File Allocation Table Dateiname Cluster-Index 0 FDFF Dateityp Reserviert Uhrzeit Datum Erster Cluster Dateigröße z. B. 6 32 Bit FFFF-Endemarkierung 1 FFFF 2 FFFF 3 0000 4 0000 5 0000 6 000E 7 0000 8 0000 9 0000 A FFFF B 0000 C 0000 D 0000 E 0002 F 0000 10 0000 11 0000 12 0000 13 0000 14 ........ Durch diese Verwaltungsmethode können Dateien beliebig groß sein. Begrenzende Größe ist der verfügbare Platz auf dem Datenträger. Die Dateien brauchen nicht auf einem zusammenhängende Platz zu stehen. Die Belegung des frei gewordenen Platzes von gelöschten Dateien ist bei den einzelnen Systemen unterschiedlich. Die Verwaltungseinheit ist der Cluster. Er ist 1, 2, 4, 8, 16, 32 ....Sektoren groß. Aufgaben: Stellen sie eine Datei von einem Byte Größe her. Machen Sie eine Aussage zum Platzbedarf auf dem Datenträger. Wie ist der Zusammenhang zwischen FAT-Größe und Cluster-Größe? Wann erfolgt der endgültige Informationsverlust bei gelöschten Dateien? S. Adomssent, Betriebssysteme/Rechnernetze, Kap. 5 Seite 8 Das hierarchische Dateisystem (FAT, UNIX-System) root lib dev etc passwd tmp emil usr dat1 bin otto anni d auto bmw vw tex1 audi tex2 tex3 opel Verzeichnisse Dateien In allen Betriebssystemen gibt es Directory-orientierte Kommados sowie (zahlreiche) Kommados, die die Arbeit ermöglichen. cd mkdir cat tail head pwd rmdir sum rm od ls (ll) mv pack unpack du dircmp pcat sort join chmod du Hinweis auf die Verzeichniseinträge . . und . S. Adomssent, Betriebssysteme/Rechnernetze, Kap. 5 Seite 9 Dateitypen und Zugriffsrechte Dateitypen: d b c = Dateiverzeichnis, Direktory, Katalog = normale Datei = Gerätedatei mit blockweisem Zugriff = Gerätedatei mit zeichenweisem Zugriff Zugriffsrechte: r ead Leserecht w rite Schreibrecht/Löschrecht x von execute Recht zur Programmausführung Datei Verzeichnis - rw- rw- r- d rwx rwx r-x Zugriffsrechte des Eigentümers der Datei der Gruppe des Besitzers Aller andern UNIXTeilnehmer Die Zugriffs-Rechte für die "gewöhnlichen" Dateien und die für Verzeichnisse unterscheiden sich. Ermitteln Sie die Funktion der Rechte bei den Verzeichnissen. Mit dem Befehl chmod können die Rechte verändert werden. Mit umask können sie voreingestellt werden. Bei chmod gibt es zwei Möglichkeiten der Stellung der Rechte. Empfehlung: Merke: Executerecht=1, Schreibrecht=2 , Leserecht=4. Addieren sie die Zahlen für die Rechte zu RZ und fügen Sie sie für die einzelnen Nutzerklassen zu RZG zusammen. chmod <RZG> <dateiname> Beispiel: chmod 744 dat1 Alle Rechte für den Eigentümer, nur Leserechte für die Gruppe und die Welt. S. Adomssent, Betriebssysteme/Rechnernetze, Kap. 5 Seite 10