Upload
clemens-franke
View
220
Download
0
Embed Size (px)
Citation preview
Datei-Datei-verwaltungverwaltung
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
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... ... ... ... ... ...
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
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
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 \ / : * ? " < >
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
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 *)
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
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
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 !
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
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
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
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)
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
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!)
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
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
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
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!
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
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)
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
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
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
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
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
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
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.
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
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)
... ... ...
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
Betriebssysteme und Grundlagen verteilter Systeme: © H. Weber, FH Wiesbaden Dateiverwaltung Folie 34
Dateiimplementierung VIII - UNIX
Schritte beim Aufsuchen von /usr/ast/mbox
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.
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
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
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
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