+ All Categories
Home > Documents > Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Date post: 06-Apr-2016
Category:
Upload: clemens-franke
View: 220 times
Download: 0 times
Share this document with a friend
39
Datei- Datei- verwaltung verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005
Transcript
Page 1: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Datei-Datei-verwaltungverwaltung

Version 1.1

Kap. 5

Version vom 25.02.2005

Page 2: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 2

Kap. 5 - Inhalt

DateisystemeDateinamenDateiattribute und SicherheitDateizugriffsfunktionenStrukturierte ZugriffsfunktionenVerzeichnisfunktionenSpezialitätenDateiimplementierung

Page 3: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 3

Dateisysteme I

Liste von Dateien auf Massenspeicher

= relationale Datenbank!Objektorientierte Datenbank: mit Methoden+AttributenMulti-Media-Datenbank: mit Bild+Tonobjekten+Synchron.

Organisation von DatenbankenPersistent Storage Manager PSM (kleineObjekte)Object-Oriented Database Management System OODBMS

Nummer Name Position Länge Datum ...0 Datei1.dat 264 1024 11.12.871 MyProgram 234504 550624 23.4.962 Datei1.dat 530 2048 25.1.97... ... ... ... ... ...

Page 4: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 4

Dateisysteme IIHierarchische Dateiorganisation in BaumformKnoten=„Ordner“=directory

Alle Dateien

Gruppe 1 ... Gruppe m Datei f

Datei 1 Datei 2 ... Datei n Datei k ... Datei s

Page 5: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 5

Dateisysteme III

Zusätzliche Vernetzung (azykl.Graph)

Firma Abteilung 5

Formulare Rudi Hans

BriefVorlage.dot Brief1.doc BriefN.doc Brief1.doc BriefM.doc

Page 6: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 6

Dateinamen INamensbildungNamensbildung Name.ext (üblich)

Extension = Dateityp, DateizweckBeispiele:.dat Daten; Format hängt vom Erzeugerprogramm ab.doc Textdokument in dem speziellen Format des Texteditors.pas PASCAL-Programm Quellcode.c C-Programm Quellcode.h Deklarations (header)-Dateien für C-Programme.ps Postscript Dateien zum Ausdrucken.Z, .zip, .gz Komprimierte Dateien.tar ein gesamtes Dateisystem, in einer Datei abgespeichert.html ASCII-Textdatei für das world wide web-Hypertextsystem.jpg, .gif, Bilddateien.tif, .bmp3 Extensionsbuchstaben: MS-DOS! Sonst: 215 Char ohne \ / : * ? " < >

Page 7: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 7

Geschachtelte Typen

Beispiel: Skript.ps.gz= Textdatei Postscript-FormatKomprimiert

Dateinamen II - Externe Typangabe

Typaktionen Typ verknüpft mit Aktion

Benutzeroberfläche (Desktopmanager HP -VUE, MS-Explorer) behandelt DateinamenListe von Aktionen pro Typ definiert (Kontextmenü)Doppelklick=erste Aktion ausführen

Page 8: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 8

Dateinamen III - UNIX-interne Typangabeclass File Header {a_magic: LONG CARDINAL (*Magische Zahl*)a_txt: CARDINAL (* Code-Segmentgröße *)a_data: CARDINAL (* Segmentgröße der init.

Daten*)a_bss: CARDINAL (* Segmentgröße der nicht

init.Daten*)a_syms : CARDINAL (* Größe der Symboltabelle*)a_entry: CARDINAL (* Start des Programms*)

... }a_magic =407B (* altes Format: Code („text“) und Daten werden nicht schreibgeschützt

und sollen deshalb nicht von anderen Prozessen genutzt werden *)

410B (* Text-Segment wird schreibgeschützt, und das Datensegment wird an die nächsten Seitengrenzen (4 KB) im Speicher gelegt *)

413B (* Text-Segment fängt an der nächsten Seitengrenze der Datei an; text und Datensegmente sind Multiple der Seitenlänge *)

Page 9: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 9

Dateinamen IV - Eindeutigkeit

Problem: eineindeutige Abbildung langer Namen auf kurzez.B. NTFS MS-DOS (8 Zeichen..3Zeichen)

Lösung Windows NT:Alle illegale MS-DOS Buchstaben löschen sowie alle Punkte

innerhalb des Namens bis auf den letzten, falls er nicht abschließt. Kleinbuchstaben Großbuchstaben.

Nur die ersten 6 Buchstaben beibehalten, Zeichen „1“ vor dem Punkt einfügen.

3 Zeichen hinter dem Punkt beibehalten, alle anderen löschen.Ex. Datei gleichen Namens, so wird „1“ zu „2“ bzw. zu

„3“, falls schon existiert.

Beispiel: „Ganz langer Dateiname.text.ps“ GANZLA~1.ps

Page 10: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 10

Dateinamen V Dateiname = Pfadname

= Kette aus Knotennamen von der Wurzel zum BlattBeispiel: /Abteilung5/Rudi/Brief1.doc Unix \Abteilung5\Rudi\Brief1.doc NTVorgänger: ..Dieses Verzeichnis .

Relative Pfadnamen Rudi/Brief1.doc bei Hans: ../Rudi/Brief1.doc

Abteilung 5

Rudi Hans

BriefN.doc Brief1.doc BriefM.docBrief1.doc

Page 11: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 11

Dateinamen VIVorteil relativer Pfadnamen: PortabilitätPortabilitätBeispiel Programmsystem

/

toolsX toolsY

Daten Programme

Dat1.a liba libb Prog

Absolute Pfadnamen müssen nach Verschiebung des Programmsystems geändert werden, relative nicht !

Page 12: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 12

Dateinamen VII - UNIX NamensraumBaumorientiertes DateisystemQuerverbindungen durch hard links (gleiches Laufwerk) oder symbolic links (anderes Laufwerk)

Beispiel: hard link löschen zu rück-referiertem Verzeichnis: stand-alone Verzeichnis?

Abteilung5

Gruppe 1 Gruppe2

Rudi Hans

Datei1 Datei2 Datei3

symbolic linkhard links

hard link

Page 13: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 13

Dateinamen VIII - UNIX PfaderweiterungEinhängen eines Dateisystems (mounten)

root file system

etc bin usr users

user file system

Rudi Hans Ute

/

/

Festplatte 1

Festplatte 2

Zugriff mit /users/Rudi/Brief1.doc

Page 14: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 14

Dateinamen IX - Windows NT NamensraumNamen für alle Objekte wie pipes, shared memory, Prozesse, Semaphoren, events, ...Logische Querverbindungen (symbolic links)Löschen von Dateien: 2 Referenzzähler (user und kernel handles)„Durchsuchen“-Methode bei jedem Objekt: neue Dateisysteme!Symbolic link parsing-Methode: z.B. A:\Texte\bs_files.doc

\ Device DosDevices

Floppy0 HardDisk0 A: B: C:

Texte Email Partition0

bs_mem.doc bs_files.docObjekt Manager Namensraum

Dateimanager Namensraum

Page 15: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 15

Dateiattribute und Sicherheit IDateilängeDatum für Erzeugung, letzte Änderung,..Log. Attribute hidden, system, Archiv, Erzeuger, Besitzer, Benutzer und ihre Rechte

POSIX-6: geringstmöglichste Rechte für eine Aufgabe (least

privilege) Diskrete Angaben für Zugangskontrolle: Wer darf, wer

nicht (ACL) Zugangskontrolle nur von Prozessen größerer Rechte Aufzeichnung des Zugangs (audit trail)

Page 16: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 16

Dateiattribute und Sicherheit II - UNIXZugriffsrechte: Lesen R, Schreiben W, Ausführen XVerzeichnisse: R=Liste lesen, W=neue Datei aufnehmen, X=Liste durchsuchen nach DateiGetrennt für Besitzer, Gruppe, Alle

Rechte bei Programmausführung = user RechteAber: set userId, set group IdACL ex. in neuerem Unix (Wer, was, wie)

drwx r-x r-x weber 512 Apr23 15:55 .off 512 May17 17:53 ..

-rw- r-- r-- schulz 44181 Apr23 15:56 data1.txtdrwx r-x r-x

Page 17: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 17

Dateiattribute und Sicherheit III - Windows NTStandardrechte: Read, Write, ExecuteOnly, Vollzugriff, ...ACL ex., neue Gruppen möglichAuditing möglichSpeziell für Dateien: Attribute

• Dateiname, Gerätetyp, Position in Datei, share-Status(r,w,del)

• Mode: sync/async, mit/ohne Cache, seq/random Access, ...

• File disposition: temp oder persistent Methoden

• CreateFile(), OpenFile(), ReadFile(), WriteFile(), CloseFile()

• Lesen/setzen von Dateiinfo, Attributen, Geräteinfo, Verzeichnissen

• Sichern/freigeben der DateilängeAttribute implementiert durch Datenströme, neu erzeugbar„MeineDatei.dat : MeinKommentar“ (nichtlöschbare Viren!)

Page 18: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 18

Dateifunktionen I - PrinzipStandardfunktionenStandardfunktionen

Create File Name, Zugriffsart: TabelleneintragOpen File Apprüfen der Zugriffsrechte, Puffereinrichtung, Close FilePuffer + Tabellen deallozieren, Read/Write File Puffer schreiben/lesen: DMA!Seek FileIndex setzen der aktuellen Position random access

Verbind.-orientierte Verbind.-orientierte KommunikationKommunikation

Page 19: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 19

Dateifunktionen II - UNIXfd = creat(Name, mode) file descriptor = Index in Tabellefd = open (Name, mode)read (fd, buffer, nbytes) write(fd, buffer, nbytes)close(fd)lseek(fd, offset, direction)

fd=1 fd=0 fd=1 fd=0Programm1 Programm2 Programm N

fd=2 fd=2 fd=2

Fehlerausgabe Fehlerausgabe Fehlerausgabe

Beispiel: pipesfd=0: Standard Input, fd=1 Standard Output, fd=2 standard error

Programm1 | Programm2 | .. | ProgrammN

Page 20: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 20

Dateifunktionen III - Windows NTÜbliche Dateizugriffsfunktionen wie Unix

Bei Veränderung der Dateistruktur: Atomare Transaktionendurch log file service LFS (write-ahead logging)

Ergänzung der Operationen nach Absturz:= Fehlertolerantes Dateisystem

Wirksam bei fail save-System, nicht aber bei aktivem Fehler

Page 21: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 21

Strukturierte Zugriffsfunktionen Sequentielle Dateien sequential filesMagnetbänder, LochstreifenProblem: unbekannte Zugriffsreihenfolge

Wahlfreie Dateien random access filesFestplatten, CD-ROM: Positionsangabe (offset) möglichProblem: ineffizient bei bekannter Datenorganisation

Indexsequentielle Dateien index-sequential filesÜbersicht (Index) am Dateianfang,Ordnung nach einem Kriterium (Schlüssel),

z.B. Name, Geburtsdatum, ...

Fehlen der DB-Unterstützung: Problem bei UNIX!

Page 22: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 22

Verzeichnisfunktionen I - PrinzipCreate DirectoryVerzeichnis erzeugenRemove DirectoryVerzeichnis löschenChange Working DirectoryGegenwärtiges Arbeitsverzeichnis wechselnOpen DirectoryVerzeichnis-Stream öffnen zum Lesen der EinträgeClose DirectoryVerzeichnis-Stream schliessenRead Directory EntryEintrag in Verzeichnis-Stream lesenSeek Directory EntryZu gemerktem Eintrag positionierenTell Directory EntryGegenwärtigen Eintrag merken

Page 23: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 23

Spezialitäten I - BibliotheksdateienBS-typische, von allen Prozessen nutzbare Funktionen, die nicht im Kern sind

Vorteile weniger Hauptspeicher nötig, da Modul nur einmal vorhanden Wartung ist erleichtert, da zentralAber:

Speicher wird billiger & wenige Module sind oft benutztAnfangsadresse Null nicht immer möglich relozierte Kopien nötigWartung auch bei zentraler Verteilung lokaler Module einfacherDLL-Hölle: Mehrere Module gleicher Version bilden eine Gruppe & Verschiedene Programme benötigen unterschiedliche Funktionalität von Modulversionen gleichen Namens & kein Schnittstellencheck CRASH unklarer Herkunft

Also:Bibliotheksmodule bei Applikation lassen; registrierte Systembibliotheken automatisch reparieren (WIN 2000: 2800 signierte System-DLL)

Page 24: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 24

Idee wahlfreier Zugriff auf Massenspeicher = RAMPlattenspeicherbereich Hauptspeicherseiten

Einlesen des Bereichs nur wenn wirklich nötigPufferung automatisch durch Paging

Problem: Änderung der Länge der Datei

Spezialitäten II - memory mapped files

paging

Datei auf Platte virt. Adreßraum im Hauptspeicher

Daten

header

Daten

code

stack

Page 25: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 25

Spezialitäten III - memory mapped files

Beispiel Unixmmap() stellt eine Abbildung von virtuellem Adreßraum in den

Bereich einer Datei her.munmap() beendet die Abbildung. Wurde der Speicherinhalt

verändert, so werden die veränderten Seiten auf die Datei zurückgeschrieben.

msync() aktualisiert die Datei aus dem Speicher. Außerdem: Semaphoroperationen zur Synchronisation

Beispiel Windows NT VM-Manager & I/O-Manager CreateFileMapping() erzeugt ein ObjektOpenFileMapping() öffnet es anderen Prozesse unter dem Namen

MapViewOfFile() Teilbereiche daraus in den virt. Adreßraum abbilden FlushViewOfFile() aktualisiert den Dateibereich UnmapViewOfFile() wieder schliessen

Page 26: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 26

Spezialitäten IV - special filesAbbildung von Dateimechanismen auf Gerätesteuerung

Öffnen/Schließen von Dateien = Initialisierung der Geräte Lesen/Schreiben von Daten = I/O der Daten Statusänderung der Datei = Statusänderung des Geräts

Beispiel Unix„/dev/tty“ Terminal ein/ausgabe (character-oriented)„/dev/mt“ Magnetband (block-oriented)open(),close(),read(),write() Ein Gerät, mehrere Namen und damit Modi (sequentiell, random access) möglich.

ioctl() Statusänderung, z.B. Übertragungsmodus&Geschwindigkeitmount() Wurzelknoten des Dateisystems auf Gerät ersetzt Datei

Beispiel Windows NT virtual filesZugriff auf Geräte, Netzwerkverbindungen etc. wie auf normale Dateien

Page 27: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 27

Dateiimplementierung IKontinuierliche SpeicherzuweisungDatei „in einem Stück“: Schnell, aber nicht änderbar.

Listenartige SpeicherzuweisungVerzeigerte Liste von Speicherblöcken (Strategien!)

Vorteil Rekonstruktion möglich bei Anker-Löschung Nachteilineffizienter wahlfreier Zugriff

Datei A

Datei B Nil

BBlock 0

ABlock 1

BBlock 1

BBlock 2

ABlock 0

ABlock 2

BBlock 3

0 1 2 3 4 5 6

Page 28: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 28

Dateiimplementierung IIZentrale indexbezogene Speicherzuweisungzentraler Block von Zeigern (Indizes) in einer Liste

Anfang Datei B

Anfang Datei A

Ende Datei B

Phys.BlockNr = ListenIndex

nächsterDaten-block

0 21 52 33 64 15 76 NIL

Page 29: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 29

Dateiimplementierung III - Zentraler Index Beispiel File Allocation Table FAT von MS-DOS

Blockgröße: 512 Byte (= 1 Sektor), Block 0: Bootstrap, Blöcke 1-5: FAT mit je Eintrag 12 Bit = 3Hexzahlen = 1.5 Byte

Pro cluster 1024 Byte = 2Blöcke

Block 18/19

Cluster 0

Cluster 1

Cluster 2

Index 3

12 Bit

1024 Byte

Index 2

Index 4Index 5

Index 6

Block 19/20

Block 20/21

Maximale Diskettengrößemax. FATgröße 5512=2560Byte Max. Zahl der Einträge = 2560/1.5 = 1706 Einträge (cluster), also max 1706 1024Byte

= 1,7 MB pro Diskette

Page 30: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 30

Dateiimplementierung IV - Zentraler Index

FAT-Probleme

Indexgröße Floppy 12 Bit Platten 16 Bit 212 Einträge 216 Einträge = 216 ClusterProblem: bei 2 GB Platte ist

Clustergröße = 2 GB/Clusterzahl = 231/216 =215=32kB groß,aber 1kB-Dateien sind normal!

Aber: Geringere Clustergröße, z.B. 1kB Cluster, 2 GB Platte, 231/210=221=2 Mill. Einträge. Da jeder Eintrag 2 Mill andereEinträge referieren kann, muß er mind. 21 Bit (3 Bytes) breit sein. Dies bedeutet 2 Mill. mal 3 Bytes = 6 MB Platz für die FAT-Tabelleim Hauptspeicher, ohne daß alle benutzt werden müssen.

Bei kleinen Clustern gibt es lange Listen im RAM sowie lange Suchdauer.

Page 31: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 31

Dateiimplementierung VVerteilte indexbezogene SpeicherzuweisungEigene Indexliste pro Datei

Datei A4157...

Datei B0236

NIL

Problem: Bei einigen Dateien sehr viele Blöcke, lineare Blocksuche wird langsam

Page 32: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 32

Dateiimplementierung VIVerteilte indexbezogene SpeicherzuweisungBaumstruktur zur schnellen BlocksucheTabellengröße vs. Suchzeit: 1-,2-,3-stufige Tabellen

phys.

Blöcke

(a) einstufige (b) zweistufige (c) dreistufige Übersetzung (einfach-indirekt) (zweifach-indirekt)

... ... ...

Page 33: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 33

Dateiimplementierung VII - UNIXZentrale Tabelle pro Datei: i-node (Indexknoten)Verwaltungsdaten (Referenzen, Zeiger für free-Liste + mount()-Tabelle), erste Adressen von Datenblöcken + Zeiger für weitere

modelink countowner uidowner gidfile size

3 time ref.Adressender ersten10 Blöcke1-indirekt2-indirekt3-indirekt

Max 256 Einträge (Blockindizes)

Max 256 Einträge (Zeiger)

16,8 GB

67 MB266 kB

Verzeichnis = Datei = Tabelle aus Dateinamen + i-node-Nummer

Zentrale Tabelle aller i-nodes = super node

Page 34: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 34

Dateiimplementierung VIII - UNIX

Schritte beim Aufsuchen von /usr/ast/mbox

Page 35: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 35

Dateiimplementierung IX - Windows NT

KonzeptKonzeptVolumes (log. Massenspeicher) als DatenspeichereinheitAlle Untereinheiten eines volumes sind nur Dateien (files), gekennzeichnet durch eine 48 Bit-Zahl &16Bit-Sequenznummer

Vorteile Vorteile Dateien vs. dedizierte Blöcke (Plattenbereiche)

einfacher, konsistenter Dateizugriffsmechanismus, sogar auf die boot-Information. Die Sicherheitsinformationen sind getrennt pro Objekt (Verwaltungsinformation) besser anpaßbar an die inhaltlichen Notwendigkeiten des Objekts bzw. der Funktion. Werden Plattenteile unbrauchbar, so können die Verwaltungs-informationen unsichtbar für den Benutzer auch auf andere Plattenteile verlagert werden.

Page 36: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 36

Chkdsk-Programm

Dateiimplementierung X - Windows NT

~ ~

Datei 0 Master File Table

Datei 1 Sicherheitskopie der MFT ( Plattenmitte)

Datei 2 log file: Alle Operationen, die die NTFS-Struktur ändern, werden hier verzeichnet und garantieren so atomare Dateitransaktionen.

Datei 3 volume file: Statusinformationen Name, NTFS Version, ...corrupted Bit=1:

Datei 4

attribute definition table:Attributstypen + ihr Status

Datei 5

Root directory : Name des Wurzelverzeichnisses, z. B. \

Datei 6

bitmap file: Belegungstabelle der volume-Speichereinheiten (Cluster)

Datei 7 boot file: bootstrap Code von Windows NT und die physikalische Geräteadresse der MFT -Datei.

Datei 8 bad cluster file: Verzeichnis der unbrauchbaren volume-Cluster

. . .

Datei 16 Normale Benutzerdateien und Verzeichnisse

Page 37: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 37

Dateiimplementierung XI - Windows NTStruktur eines Master File Table-Eintrags

Nichtresidente Attributsteile(eigentliche Datenblöcke)

MFT-Eintrag

standard informationfile name

(security descriptor)data stream

start VCN start LCN length

start VCN start LCN length

.. .. ..

HPFS extended attrib....

VCN : virtual cluster number

LCN : logical cluster number

Page 38: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 38

Dateiimplementierung XII - Windows NTStruktur des Wurzelverzeichnisses root directory

root file Indexpuffer

Standardinformat ion

file name „ \ “

B*-Baum index root

file 4file 10file 15

index alloc ation VCN LCN

bitmap XXX0XX0XXXXX

...

VCN0 file 0, …1 file 1, …2 file 3, …3

VCN4 file 6, …5 file 8, …67 file 9, …

VCN8 file 11, …9 file 12, …10 file 13, …11 file 14, …

Max. 15 Dateien (Schlüssel)

pro container (4 Cluster)

Wurzelcontainerdes B*-Baums

Page 39: Datei- verwaltung Version 1.1 Kap. 5 Version vom 25.02.2005.

Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 39

Dateiimplementierung XIII - Windows NTInterne Datenstrukturen für eine NTFS-Datei

Object manager data NTFS memory data NTFS disk database

processmaster file

table

...

fileco ntrol

block

streamco ntrolblocksdata

str eam

user-definedattribute

file handletable

...

fileobject

fileobject


Recommended