File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs...

34
File Management Peter Puschner Institut für Technische Informatik [email protected]

Transcript of File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs...

Page 1: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

File Management

Peter PuschnerInstitut für Technische [email protected]

Page 2: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien Vorlesung Betriebssysteme, File-Management; WS 19/20 2

Motivation• Prozess kann nur eine eingeschränkte

Informationsmenge in seinem Adressraum halten …

• Adressraum des Prozesses ist nur während der Lebensdauer des Prozesses verfügbar ...

• Notwendigkeit, dass Daten von mehreren Prozessen verwendet werden können ...

• Computer als Dokumentenspeicher

ðFiles/Filesystem auf Plattenspeicher, etc.

Page 3: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien Vorlesung Betriebssysteme, File-Management; WS 19/20 3

File Management• File: zentrales Element in vielen Prozessen• File speichert große Informationsmengen• Persistenz: Informationslebendauer in Files wird

nicht durch Prozessstart/termination beeinflusst• Zugriff durch mehrere Prozesse

File System verwaltet Files:Namensgebung (Naming), Struktur, Lokalisierung und

Zugriff, Schutz (Protection)Benutzersicht versus BS-Designer-Sicht

Page 4: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien Vorlesung Betriebssysteme, File-Management; WS 19/20 4

Elemente des File Management

RecordsFileStructure

I/O

FileAllocation

Free StorageManagement

BlockingUser &ProgramCommands

Physical Blocksin SecondaryStorage

Physical Blocksin Main-MemoryBuffers

Operation,File Name

AccessMethod

User AccessControl

DirectoryManagement

File Management BetriebssystemZuständigkeit:

Page 5: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien Vorlesung Betriebssysteme, File-Management; WS 19/20 5

Dateiorganisation: Ziele• Kurze Zugriffszeit• Leichte Aktualisierbarkeit/Veränderbarkeit• Geringer Platzverbrauch• Gute Wartbarkeit• Zuverlässigkeit

Page 6: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien Vorlesung Betriebssysteme, File-Management; WS 19/20 6

Datei-Organisation und –Zugriffmögliche Arten der Datei-Organisation:

– unstructured sequence of bytes– pile: Records variabler Länge werden in Reihenfolge

des Ankommens gespeichert.– sequential file: lauter Records mit fixem Format, ein

Key-Feld bestimmt die Position innerhalb der Datei.– indexed-sequential file: Index für direkten Zugriff.– indexed file: Für alle Suchfelder eigene Indizes.– direct (hashed) file: Hashfunktion über Key-Feld,

keine sequentielle Reihenfolge der Dateien.

Page 7: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien Vorlesung Betriebssysteme, File-Management; WS 19/20 7

Datei-OrganisationPile: Sequential File:

- Records variabler Länge- Variable Menge an Feldern- Chronologische Reihenfolge

- Records fixer Länge- Fixe Menge an Feldernmit fixer Reihenfolge

- Reihenfolge durch Key

KEY

Page 8: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien Vorlesung Betriebssysteme, File-Management; WS 19/20 8

Datei-Organisation (2)

MainFile

OverflowFile

12

n

IndexIndex

Primary File

Index Index

Indexed Sequential File: Indexed File:

Page 9: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien Vorlesung Betriebssysteme, File-Management; WS 19/20 9

Datei-Organisation (3)

HashFunction

OverflowFile

PrimaryFilef

Hash File:

Page 10: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien Vorlesung Betriebssysteme, File-Management; WS 19/20 10

File Types• Regular Files

ASCII Files versus binary Filesbinary Files: Daten, Executables, etc.– BS muss eig. Exe-File Format interpretieren können:

Header, Text, Data, Relocation Bits, Symbol Table– Magic Number im Header kennzeichnet exe-File

• Directories• Character Special Files

Repräsentation sequentieller I/O Geräte• Block Special Files

Repräsentation von Platten

Page 11: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien

File Attributes• Creator, Owner, Protection, Password• Read-only flag, Hidden flag, System flag,

Archive flag, ASCII/binary flag,Random access flag, Temporary flag, Lock flags

• Creation time, Time of last access,Time of last change

• Record length, Key position, Key length• Current size, Maximum size

Vorlesung Betriebssysteme, File-Management; WS 19/20 11

Page 12: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien Vorlesung Betriebssysteme, File-Management; WS 19/20 12

File Names• Anzahl der Zeichen (8...255)

– Bsp.: MS-DOS (Win95, Win98): 8 Zeichen + Extension,Unix: 255 Zeichen

• Relevanz von Groß-/Kleinschreibung, erlaubte Zeichen– Bsp: Unix unterscheidet Gr./Kl.Schreibung,

Win95/98 nicht• File Name Extensions

– Teil des Namens (Win) vs. Konvention (Unix)Anzahl der Extensions: eine (Win) vs. beliebig (Unix)

Page 13: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien Vorlesung Betriebssysteme, File-Management; WS 19/20 13

File-OperationenTypische Operationen:• Create, Delete• Open, Close• Read, Write, Append• Seek• Get Attributes, Set Attributes• Rename• Lock

Page 14: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien Vorlesung Betriebssysteme, File-Management; WS 19/20 14

Datei-Verzeichnis (Directory, Folder)

• Verzeichnis gespeicherter Dateien• Liefert Abbildung von Dateinamen auf Daten.• Einträge: Name, Attribute,

physikalische Adresse der Daten• Struktur:

– einfache Liste (erste BS)– hierarchische Baumstruktur

• Verzeichnisse in Hash-Struktur gespeichert für schnellere Zugriffszeiten (vs. separate Dateien).

Page 15: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien Vorlesung Betriebssysteme, File-Management; WS 19/20 15

Verzeichnis mit Baumstruktur

Systemhomeusr

Hauptverzeichnis

hansklaus

Verzeichnis „home“

Datei„log.txt“

Pfadname: /home/klaus/log.txt

log.txtmail

Verzeichnis „klaus“

Page 16: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien Vorlesung Betriebssysteme, File-Management; WS 19/20 16

Pfadnamen• absolut (absolute path name): identifiziert Datei

durch Beschreibung des Pfads von der RootausgehendWindows: \usr\hans\mailbox Unix: /usr/hans/mailbox

• relativ (relative path name): lokalisiert Datei vom Working Directory (Current Directory) ausworking directory /usr relative path: hans/mailbox

• Current directory: . (dot) ./hans/mailbox

• Parent directory: .. (dotdot) ../home/klaus/log.txt

Page 17: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien Vorlesung Betriebssysteme, File-Management; WS 19/20 17

Directory-OperationenTypische Operationen:• Create, Delete• Opendir, Closedir• Readdir,• Rename• Link, Unlink• Änderung der Zugriffsrechte, etc.

Page 18: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien Vorlesung Betriebssysteme, File-Management; WS 19/20 18

File System Implementierung• Wie werden Files und Directories gespeichert?• Wie wird der Plattenplatz verwaltet?• Performance? Zuverlässigkeit? ...

Page 19: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien

Beispiel: File-System Layout

Vorlesung Betriebssysteme, File-Management; WS 19/20 19

MBR

partitionpartition table

boot block super block free mgmt i-nodes root dir. files & directories

disk

master boot record

[figu

re: O

pera

ting

Syst

ems.

Tan

enba

um, W

oodh

ull;

PEAR

SON

, 200

6]

Unix/linux partition

Page 20: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien Vorlesung Betriebssysteme, File-Management; WS 19/20 20

Disk und File-System Layout• Disk-Unterteilung in Partitionen mit unabh. FS• Master Boot Record (MBR) in Sektor 0 der Disk

– Boot Code– Partition Table (start/end of partitions, active partition)

• Systemstart: BIOS exekutiert Code des MBR– Lokalisieren der aktiven Partition– Ausführen des ersten Blocks (=Boot Block): Laden des

BS der aktiven Partition

Alternativ: Boot Menü zur BS/PartitionswahlBoot Block im ersten Sektor (Floppy Disks)

MBR = initial program loader (IPL), volume boot code, masterboot

Page 21: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien Vorlesung Betriebssysteme, File-Management; WS 19/20 21

Datei Implementierung• Eine Datei besteht im Sekundären Speicher als

Sammlung von Blöcken• Wo sind die Blöcke eines Files zu finden?• Verschiedene Strategien der Block-Allokierung

Page 22: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien Vorlesung Betriebssysteme, File-Management; WS 19/20 22

Datei Implementierung (2)• Contiguous Allocation: eine Datei belegt eine

einzige, aneinander grenzende Menge von Blöcken.Vorteil: gute Performance beim LesenNachteile: Platzprobleme beim Vergrößern einer Datei; externe Fragmentierung.Verwendung bei CD-ROMs, DVD-ROMs

• Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock verkettet sind.Vorteil: keine externe Fragmentierung.Nachteile: keine Lokalität der Blöcke; langsamer Zugriff bei Random Access; Nutzdaten pro Block < 2n ,da Zeiger auf Nachfolgeblock selbst Platz im Block braucht.

Page 23: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien Vorlesung Betriebssysteme, File-Management; WS 19/20 23

Datei Implementierung (3)• Indexed Allocation: wie Chained Allocation, allerdings

werden die Pointer in einer Tabelle im Speicher(File Allocation Table, FAT) und nicht in den Blöcken der Datei gehalten. Vorteile: Sowohl direkter als auch sequentieller Zugriff gut unterstützt; Blöcke ganz für Nutzdaten verfügbarNachteil: großer Platzbedarf für FAT im Arbeitsspeicher

• I-Nodes (Index Node): Datenstrukur für jedes File, enthält Fileattribute und Referenzen auf die Blöcke des Files.Vorteil: I-node wird nur im Memory gebraucht, wenn ein File verwendet wird (notwendig: Array, das i-nodes für maximale Anzahl offener Dateien halten kann)

Page 24: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien Vorlesung Betriebssysteme, File-Management; WS 19/20 24

Datei Implementierung (4)• I-Nodes (Forts.):

Nachteil: Anzahl der Blockreferenzen pro i-node ist begrenzt à Verwendung indirekter, doppelt und dreifach indirekter Blöcke

attributes

i-nod

e

Page 25: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien Vorlesung Betriebssysteme, File-Management; WS 19/20 25

Sequential Files – Blockingseq. File: Records logische Einheit für DateizugriffMethoden zur Abbildung von Records auf Blöcke:• Fixed blocking: Records fixer Länge, integrale

Anzahl von Records pro Block à Verschnitt• Variable-length spanned blocking: Records

variabler Länge, Records können auch auf zwei Blöcke verteilt sein à kein Verschnitt

• Variable-length unspanned blocking: Records variabler Länge, Record als ganzes in einem Block gepeichert à Verschnitt

Page 26: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien Vorlesung Betriebssysteme, File-Management; WS 19/20 26

Block-Verwaltung (2)

R1 R2 R3 R4R5 R6 R7 R8

Track 1

Track 2

Track 1

Track 2R1 R4 R5R6 R7 R8 R9R2 R3

R10

Track 1

Track 2

R1 R4 R5

R6 R8 R9 R10

R2 R3

R11

R4 R6

R7

Fixed Blocking:

Variable Blocking Spanned:

Variable Blocking Unspanned:

Page 27: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien

Directory ImplementierungAuffinden von Dateien

1. Lokalisierung des Root Directories2. Interpretation des Pfadnamens

Position des Root Directories– fixe Position vom Partitionsanfang aus– Unix: Startadresse der i-nodes im Super Block

erster i-node verweist of Root Directory– Win: Boot Sector enthält Information über Adresse

der Master File Table (MFT)

Vorlesung Betriebssysteme, File-Management; WS 19/20 27

Page 28: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien

Directories und File-AttributeWo findet das BS die File-Attribute?• File-Attribute in Directory-Einträgen

Bsp.: Directory-Einträge fixer Größe der Form:Filename (fixe Größe), Struktur mit File Attributen, eine oder mehrere Block-Adressen

• Ablegen der Attribute in i-nodesDirectory Einträge: Filename, i-node Nummer

Vorlesung Betriebssysteme, File-Management; WS 19/20 28

Page 29: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien

Bsp.: Directories in Win95/98basiert auf MS-DOS File System

Vorlesung Betriebssysteme, File-Management; WS 19/20 29

base name ext. file sizelast write

8 3 1 4 2 4

attributes starting blocklower 16 bits

NT

creat. dt./tim.

last acc’s

1 1 4 2 2

starting blockupper 16 bits

new in Win95/98

5 characters 2 chars

1 10 1 1 1 12 2 4

0 6 characters (unicode chars) 0

attributes0x0F

check sumsequence

Erweiterungseinträge für lange Filenamen

Page 30: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien

Bsp.: Directories in Unixursprüngliche Basisstruktur

Vorlesung Betriebssysteme, File-Management; WS 19/20 30

file name

2 14

i-node Nummer

Page 31: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien

File Block SizeWie groß sollen die Blöcke von Dateien sein?• Nutzung des Speicherplatzes• Zugriffszeit

Vorlesung Betriebssysteme, File-Management; WS 19/20 31

Speicherplatznutzung vs. Datenrate, Dateigröße konst. 2Kbyte

[figu

re: O

pera

ting

Syst

ems.

Tan

enba

um, W

oodh

ull;

PEAR

SON

, 200

6]

Page 32: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien Vorlesung Betriebssysteme, File-Management; WS 19/20 32

Verwaltung freier BlöckeDisk Allocation Table zur Markierung freier Blöcke• Chained Free Portions: Alle freien Bereiche

verbunden per [Zeiger/Länge]-Eintrag.Problem: mit der Zeit Fragmentierung, Overhead für Zeigerupdate (=R/W) bei Fileoperationen.

• Bit Tables: Bitvektor mit je einem Bit pro Platten-block. Geringer Platzbedarf, guter Überblick über Folgen von freien Blöcken.

• Indexing: Freie Blöcke als eigenes File betrachtet. Effizient für alle Datei-Belegungsverfahren.

Page 33: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien Vorlesung Betriebssysteme, File-Management; WS 19/20 33

Performance• Disk Caching

– Ausnutzung der Lokalität– Bedeutung eines Blocks für die Konsistenz des

Filesystems à Write Back• Block Read Ahead• Kopfbewegungen

der Disk

[figu

re: O

pera

ting

Syst

ems.

Tan

enba

um, W

oodh

ull;

PEAR

SON

, 200

6]

Page 34: File Management - Institute of Computer Engineering (E191) · Verwendung bei CD-ROMs, DVD-ROMs •Chained Allocation: Belegung typ. einzelner Blöcke, die über Zeiger auf den Folgeblock

R. Kirner, P. Puschner, TU Wien Vorlesung Betriebssysteme, File-Management; WS 19/20 34

Zusammenfassung• File ist zentrales Element der meisten

Programme.• User-Sicht versus Designer-Sicht• Filesystemstruktur• Files, Directories, Special Files• Abbildung von Files auf Dateiblöcke,

Verwaltung freier Blöcke