KV Betriebssysteme (Rudolf Hörmanseder, Michael Sonntag, Andreas Putzinger)



Ähnliche Dokumente
KV Betriebssysteme (Rudolf Hörmanseder, Michael Sonntag, Andreas Putzinger)

SS KV Betriebssysteme. Datenpersistenz in Betriebssystemen Dateien und Dateisysteme. Andreas Putzinger, Michael Sonntag, Rudolf Hörmanseder

Partitionieren und Formatieren

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Laufwerke unter Linux - Festplatten - - USB Sticks - September 2010 Oliver Werner Linuxgrundlagen 1

Betriebssysteme K_Kap11B: Files, Filesysteme Datenstrukturen

Ontrack EasyRecovery 11 Neue Funktionen. S.M.A.R.T.-Analysefunktion Wiederherstellung von VMware VMDK-Images Datenlöschfunktion

Verschlüsseln Sie Ihre Dateien lückenlos Verwenden Sie TrueCrypt, um Ihre Daten zu schützen.

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Digital Forensics. Slackspace DI Robert Jankovics DI Martin Mulazzani

OPERATIONEN AUF EINER DATENBANK

Bitte geben Sie hier den Benutzer cubusadmin und das gleichnamige Passwort ein.

Kapitel 1: Betriebssystem IX. W indows Explorer und der Arbeitsplatz Teil 2

6.2 FAT32 Dateisystem

Daten am USB Stick mit TrueCrypt schützen

Übersicht. UNIX-Dateisystem (ext2) Super-User unter Linux werden MSDOS: FAT16 und FAT32

Leitfaden zum Sichern einer Festplatte als Image mit der System Rescue CD

Beheben von verlorenen Verknüpfungen

Verwaltung der MSATA-SSD bei HP Envy Ultrabook 4 und Ultrabook 6 mit Intel Smart Response Technologie

Win 7 optimieren. Unser Thema heute: Meine erstellten Daten in eine andere Partition verschieben.

Datensicherung und Wiederherstellung

Verwendung von SD-Speicherkarten über den SPI-Bus

Datensicherung. Beschreibung der Datensicherung

Nach der Installation der Multi-User-Version von CUBUS können Sie mit dem Administrator- Tool Benutzergruppen und Benutzer einrichten.

Dateisystem 1, Suchpfad, Befehlstypen

Musterlösung für Schulen in Baden-Württemberg. Windows Basiskurs Windows-Musterlösung. Version 3. Stand:

Windows 7 Winbuilder USB Stick

MAXDATA b.drive. Externe Festplatte mit integrierter Backup Software

So funktioniert die NetWorker 7.5 Eigenschaft zum Sichern umbenannter Verzeichnisse ( Backup renamed Directories )

Wie halte ich Ordnung auf meiner Festplatte?

TrueCrypt Anleitung: Datenschutz durch Festplattenverschlüsselung

SICHERN DER FAVORITEN

Eigene Dokumente, Fotos, Bilder etc. sichern

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Dateisystem 1, Suchpfad, Befehlstypen

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Installation der SAS Foundation Software auf Windows

Schritt-für-Schritt Anleitung: Windows 7 per USB-Stick installieren

Partitionieren in Vista und Windows 7/8

STRG + A = STRG + C = STRG + X = STRG + V = STRG + Alt + Entf = STRG + S =

INHALT 1. INSTALLATION DES V-MODELL XT UNTER WINDOWS 7 2. INSTALLATION DES V-MODELL XT UNTER WINDOWS VISTA

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Step by Step Webserver unter Windows Server von Christian Bartl

Tutorial: Erstellen einer vollwertigen XP Home CD aus der EEE 901 Recover DVD

Wie räume ich mein Profil unter Windows 7 auf?

Schritt-Schritt-Anleitung zum mobilen PC mit Paragon Drive Copy 10 und VMware Player

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

4D Server v12 64-bit Version BETA VERSION

Installationshinweise Linux Edubuntu 7.10 bei Verwendung des PC-Wächter

Das neue Volume-Flag S (Scannen erforderlich)

Acronis TrueImage (Version 7.0) Benutzerführung. genutzte Quelle: / Hilfedatei zum Programm Acronis TrueImage Version 7.

DNS 323 Datenwiederherstellung mit Knoppix (DVD) ab Firmware Version 1.04b84

TeamSpeak3 Einrichten

Laborübung - Erstellen einer Partition unter Windows XP

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

Anleitung - Archivierung

Internet online Update (Internet Explorer)

Installation Messerli MySQL auf Linux

! " # $ " % & Nicki Wruck worldwidewruck

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC

Formular»Fragenkatalog BIM-Server«

Igloo 800. Externes Festplattengehäuse für zwei (2) 3.5 Festplatten

Samsung Drive Manager-FAQs

Aufbau einer Testumgebung mit VMware Server

Sie wollen Was heißt das? Grundvoraussetzung ist ein Bild oder mehrere Bilder vom Wechseldatenträger

Partitionieren mit GParted:

Verwendung des Terminalservers der MUG

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:

Das Einzelplatz-Versionsupdate unter Version Bp810

WebDav einrichten (einmaliger Vorgang)...3. Zugriff auf das Webdav-Laufwerk über den Windows-Explorer...5. Löschen des Webdav-Laufwerks...

Windows Vista Security

Benutzung der Avid Liquid Edition Schnittplätze an der Universität Innsbruck

Eine Einführung in die Installation und Nutzung von cygwin

my-ditto festplattenfreie Version

Handbuch PCI Treiber-Installation

Adminer: Installationsanleitung

Kurzanleitung zu. von Daniel Jettka

Sicherer Datenaustausch mit EurOwiG AG

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

Bilder zum Upload verkleinern

Computerpflege. Windows XP Update (Arbeitssicherheit) Dieses Programm öffnet die Internetseite von Windows. Starten Sie die [Schnellsuche].

PowerPoint 2010 Mit Folienmastern arbeiten

Brainloop Dox Häufig gestellte Fragen

:LQGRZV([SORUHU &KULVWLQH%HHU

Anleitung für den Zugriff auf Mitgliederdateien der AG-KiM

Whitepaper. Produkt: combit Relationship Manager / address manager. Dateiabgleich im Netzwerk über Offlinedateien

Anleitung über den Umgang mit Schildern

Win 7 sinnvoll einrichten

Handbuch ECDL 2003 Basic Modul 2: Computermanagement und Dateiverwaltung Dateien löschen und wiederherstellen

So sieht die momentane fertige Ordnerstruktur in der Navigationsansicht des Windows-Explorers aus

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

Modul Windows XP Professional

Olga Perevalova Universität Hamburg

Stecken Sie Ihren USB Stick oder Ihre externe USB Festplatte in den USB Steckplatz des Sinus 154 DSL SE.

MetaQuotes Empfehlungen zum Gebrauch von

Tevalo Handbuch v 1.1 vom

Programmieren I. Kapitel 15. Ein und Ausgabe

Hilfen zur Verwendung der Word-Dokumentvorlage des BIS-Verlags

Lehrermodul. Unterordner "daten"... 6

Transkript:

SS 2005 KV Betriebssysteme (Rudolf Hörmanseder, Michael Sonntag, Andreas Putzinger) Datenpersistenz in OS - Dateien und Dateisysteme 1

Inhalt Terminologie Festplatten Boot-Vorgang Datei und Dateisystem Beispiele für Zugriffe auf Dateien aus JAVA FAT Übungsvorbesprechung 2

Allgemeines zu Festplatten Verschiedene Baugrößen Rotierende Scheiben = Platten Aus Aluminium oder Legierung; event. Glas Beschichtung: Eisenoxyd oder Kobaltschicht Kamm mit Schreib-Leseköpfen Landing Zone / Auto Parking Staubdicht, aber nicht luftdicht Geometrie Anzahl Sektoren, Köpfe, Zylinder Reserve-Spuren Ansteuerung per (Serial) ATA / SCSI üblich S.M.A.R.T. 3

Wozu Spuren und Sektoren? Spur 0 = ganz außen Das Formatieren erzeugt ein Dateisystem auf einem Speichermedium. Eine Platte ist eingeteilt in tausende konzentrische Kreise = Spuren (tracks) Unterteilung der Spuren in Sektoren zu je 512 Byte Sektor = kleinste adressierbare Einheit auf Festplatte 4

Zylinder Alle identischen Spuren einer Festplatte. Auf Daten im Zylinder kann ohne Bewegung des Schreib-Lesekopfes gleichzeitig zugegriffen werden. Bsp: Zylinder bei 4 Platten umfasst wieviele Spuren? 5

Wozu Cluster? Zusammenfassung mehrerer Sektoren zu einem Cluster Cluster = kleinste Einheit, die vom OS angesprochen werden kann. Verwaltungstechnische Erfindung, damit Betriebssysteme mit unterschiedlich großen Festplatten umgehen können. Fragmentierung? Vor- und Nachteile von Clustergrößen? 6

Clustergrößen? Partitionsgröße FAT16 FAT32 NTFS < 16 MB 2 KB - 512 Byte < 32 MB 512 Byte - 512 Byte < 64 MB 1 KB 512 Byte 512 Byte < 128 MB 2 KB 1 KB 512 Byte < 256 MB 4 KB 2 KB 512 Byte < 512 MB 8 KB 4 KB 512 Byte < 1 GB 16 KB 4 KB 1 KB < 2 GB 32 KB 4 KB 2 KB < 4 GB 64 KB 4 KB 4 KB < 8 GB - 4 KB 4 KB < 16 GB - 8 KB 4 KB < 32 GB - 16 KB 4 KB < 2 TB - - 4 KB 7

WH aus VL Disk-Partition und OS-BOOT BIOS Basic Input / Output System Stellt u. a. Informationen über die Disks bereit MBR Master Boot Record Enthält Partitions-Information über die Disk sowie ein kleines Codestück. 8

Hardware WH aus VL OS BOOT (1) Reset CPU startet Programmausführung von einer (a priori) vordefinierten Adresse BIOS Basis-Initialisierung der Hardware Selbsttest Entscheidung, von wo gebootet wird Floppy A: Harddisk C: CD-ROM D: 9

WH aus VL OS BOOT (2) BIOS Einlesen Master-Boot-Record + starten MBR Auswahl aktive Partition Einlesen Partition-Boot-Record + starten PBR OS starten BS-Lader Start Basic-File System 10

Was ist ein Dateisystem? Permanente Speicherung Schnittstelle zwischen Betriebssystem und Laufwerken Organisation der Informationen Dateien Verzeichnisse 11

Welche Dateisysteme gibt es? FAT (File Allocation Table), 16 Bit DOS-System, FAT16 FAT32, Windows 95B OSR2 HPFS (High Performance File System), OS/2, 32-Bit- Dateisystem NTFS, Windows NT, 32-Bit-Dateisystem NetWare, eigenes 32-Bit-Dateisystem von Novell ISO 9660 für CD-ROM und ISO 13346 für DVD UDF (Universal Disk Format) ist für Speichermedien mit einer großen Kapazität gedacht, wie z.b. DVD-RAM. ReiserFS, ext, ext2, ext3, xfs, jfs (Linux) 12

Betriebssysteme und Dateisysteme Betriebssystem Dateisystem(e) DOS FAT16 Windows 95 FAT16 Windows 95 OSR2 FAT16, FAT32 Windows 98, ME FAT16, FAT32 Windows NT 4 FAT16, NTFS4 Windows 2000 FAT16, FAT32, NTFS4 Windows XP FAT16, FAT32, NTFS4, NTFS5 Windows Longhorn WinFS OS/2 FAT16, HPFS Novell NetWare eigenes Dateisystem Linux ReiserFS, ext, ext2, ext3, xfs, jfs, FAT16, FAT32, NTFS4, NTFS5 13

Betriebssysteme und Größen? Betriebssystem / Dateisystem Größe DOS-Versionen vor 3.0 bis 16 MB DOS-Version 3.0 und 3.32 bis 32 MB DOS 4.0 bis 128 MB DOS 5.0 bis 528 MB DOS 5.0 und das BIOS, welches für IDE-Laufwerke zuständig ist, akzeptierten nur 1024 Zylinder und Festplatten bis zu 528 MB. Dieses Limit wurde durch den EIDE-Standard gebrochen. FAT16 bis 2 GB (16-Bit-Cluster) FAT32 bis 2048 GB 14

Was ist eine Datei? Aus der Sicht des Betriebssystems ist eine Datei eine Folge von Bytes, deren Bedeutung dem Betriebssystem nicht bekannt ist. Die Bedeutung wird von der Anwendung definiert. Zur eindeutigen Identifikation hat eine Datei einen Namen. Zur Regelung des Zugriffs auf Massenspeicher. Blockstruktur: Zugriff auf ganze Blöcke best. Größe Darüber hinaus kann jede Datei noch weitere Attribute haben: Typ, Größe, Zugriffsberechtigungen, Datum und Uhrzeit der Dateianlage, der letzten Änderung, des letzten Zugriffs, etc. *nix Philosphie: Möglichst viele Konzepte auf Dateikonzept abbilden (Virtuelles Dateisystem) 15

Was ist ein Verzeichnis? Strukturierung der Dateien Ein Verzeichnis kann Dateien und Unterverzeichnisse beinhalten. Jedes Verzeichnis hat einen Namen. Es entsteht ein Baum. Hierarchisches Dateisystem vs. Datenbank-basiertes FS 16

Datei- und Pfadnamen (1) Verzeichnisse und Dateinamen durch \ oder / trennen, /Home/Hoe/Lva/Betriebssystem/2005/Lektion3/Test.doc Absolute Pfadangaben (beginnen beim Wurzelverzeichnis) C:\Hoe\Lva\Betriebssystem\2005\Lektion3\Test.doc Relative Pfadangaben (beginnen beim akt. Verzeichnis) Test.doc,.\Test.doc..\Test.doc Spezielle Verzeichnisse... Aktuelles Verzeichnis Übergeordnetes Verzeichnis 17

Datei- und Pfadnamen (2) 18

Typische Dateioperationen Datei öffnen / anlegen, z.b.: new File Datei lesen, z.b.: FileInputStream.read Datei schreiben, z.b.: FileOutputStream.write Datei positionieren, z.b.: RandomAccessFile.seek Datei schließen, z.b.: FileInputStream.close Datei löschen, z.b.: File.delete (Datei leeren) 19

Links in Dateisystemen (1) Grundsatzüberlegung: Datei / Verzeichnis / Partition existiert physisch 1x, soll aber mehrmals an verschiedenen Stellen in der logischen Sicht enthalten sein. Es wird nur eine Referenz ( Link ) auf die physische Struktur bzw. auf die Beschreibungsstruktur der physischen Daten gespeichert. Windows Konzept der Verknüpfungen» Findet nicht auf Dateisystem-Ebene statt, sondern jede Windows- Verknüpfung ist eine separate Datei mit der Endung.lnk, die vom Explorer beim Doppelklick interpretiert wird. Also KEIN richtiger Link.» Daher unabhängig vom Filesystem! NTFS beherrscht Links auf Dateisystem-Ebene. Wird aber kaum verwendet. Ganze Laufwerke könnten beispielsweise in ein Unterverzeichnis gemappt werden. 20

Links in Dateisystemen (1) UNIX(e) Es existiert nur ein globaler Verzeichisbaum ( / - root). Mittels dem Vorgang des Mountens werden Partitionen und Laufwerke in diesen Verzeichnisbaum eingebunden. Das Temp Verzeichnis kann sich z. B. entweder in /tmp oder auch in /var/tmp befinden. Einige Distributionen definieren /tmp beispielsweise als SymLink auf /var/tmp. Somit sind sie zu fast allen Programmen in dieser Hinsicht kompatibel. Eine Datei gilt erst dann als gelöscht, wenn alle Links auf die Datei gelöscht sind (Zähler wird mitgeführt) Ähnlich wie Verknüpfungen unter Windows sind unter UNIX die SymLinks vorhanden.» Unterschied zu Windows-Verknüpfungen: SymLink wird von Betriebssystem aufgelöst (anders als in Windows, dort muss bspw. die Verknüpfung vom Explorer aufgelöst werden)» Wird die eigentliche Datei gelöscht, ist sie weg, auch wenn SymLinks existieren. Die SymLinks bleiben bestehen und sind ungültig ( Dangling Pointer Problem) SymLink (soft) vs. (Hard)Link 21

Journaling (1) Eine Datei ist eigentlich nur eine Abstraktionselement. Sie besteht einerseits aus Meta-Information (Dateiname, in welchem Verzeichnis, Größe, etc.) und den eigentlichen Daten, die eine logische Einheit darstellen, physisch aber meist in mehreren Blöcken (Cluster, etc.) auf der Festplatte verteilt liegen. D. h. z. B., dass das Erstellen einer Datei aus mehreren Schritten besteht (Anlegen der Metadaten im Directory-Teil, Reservieren der Cluster, etc.). In vielen Filesystemen wird dies in unabhängigen, sequentiellen Operationen durchgeführt Problem der Inkonsistenz, vgl. Datenbanken! ( ScanDisk zum Beheben solcher Probleme [meist mit Datenverlust verbunden!] wird wahrscheinlich jeden schon einmal die eine oder andere halbe Stunde genervt haben!) Lösung: Eine Operation auf das Dateisystem wird in einer Transaktion ausgeführt. D. h., ein Zugriff wird vollständig durchgeführt, oder gar nicht. Vorteil: Keine Inkonsistenzen, schnelles Wiederherstellen eines konsistenten Zustands beim Neustart des Systems nach vorhergehendem Absturz. 22

Journaling (2) Windows FAT bis FAT32 unterstützen kein Journaling. NTFS (alle Versionen) unterstützen Journaling. WinFS sowieso, da es auf Datenbank basiert. UNIX(e) ext, ext2 haben kein Journaling Bei ext3 wird eine Journaling Schicht über ext2 gelegt, die das Journaling durchführt (Großer Vorteil der Kompatibilität zu ext2!!) JFS, ReiserFS und XFS unterstützen Journaling seit Anfang an. 23

Berechtigungen (1) FAT und NTFS Unter DOS wurde das Standard-FAT Dateisystem (s. a. Skript Betriebssysteme VL) verwendet, welches keinerlei Berechtigungsvergabe auf Dateien ermöglicht. Es gibt nur globale Schalter ( Schreibgeschützt, Archiv, Versteckt, System ), welche von jedem Benutzer eigenständig geändert werden können. Seit Windows NT wird NTFS (New Technology File System) eingesetzt: Sehr feingranulare Berechtigungsvergabe mittels Access-Control-Listen (ACL) möglich. Zu jeder Datei wird Information darüber gespeichert, welcher Benutzer bzw. welche Benutzergruppe welches Recht auf die Datei hat (grant) / explizit nicht hat (deny). Rechtevererbung (Ordner auf enthaltene Objekte bzw. Unterordner) spielt hierbei eine wichtige Rolle. Problem: Man sieht stdm. nur, welche Rechte für welchen Benutzer auf welches Objekt gesetzt sind. Den sicherheitsbewußten Administrator interessiert auch, welcher Benutzer überhaupt welche Rechte am System / Dateisystem hat (nicht Objekt, sondern Benutzer steht im Mittelpunkt der Betrachtung) SAT (http://www.fim.uni-linz.ac.at/research/sat/) 24

Berechtigungen (2) NTFS contd. NTFS Rechte-Dialog NTFS Rechte-Vererbung WER darf WAS bzw. WAS NICHT auf WELCHES OBJEKT Rechte erben Rechte erben Rechte erben C:\ Eigene Dateien Programme StarOffice ACL Benutzer XYZ darf Lesen und Schreiben Implizit: Alle anderen dürfen nichts! 25

Berechtigungen (3) ext Unix bzw. Linux bietet traditionellerweise ein sehr einfaches Rechtekonzept: Es gibt Benutzer und Gruppen Jeder Benutzer ist einer Primärgruppe und beliebig vielen Sekundärgruppen zugeordnet. Es gibt einen speziellen Benutzer ( root ), der alle Rechte auf alle (normalen) Dateien hat bzw. sich die Rechte verschaffen kann. Jede Datei hat einen Besitzer und eine besitzende Gruppe. Es gibt lediglich 3 Rechte: read, write und execute Eine Kombination dieser 3 Rechte kann getrennt für 3 Personengruppen definiert werden: für Besitzer, für besitzende Gruppe und für alle anderen. Weiters existieren einige Spezialbits (Ausführen als Besitzer, als besitzende Gruppe, etc.) Mittlerweile gibt es auch die feingranulare ACL Unterstützung! 26

Berechtigungen (4) ext contd. Befehl: ls -la 27

Datei sequentiell lesen public static void main(string[] args) throws... { int data; FileInputStream fis; fis = new FileInputStream( "c:\\winnt\\taskman.exe"); while ((data = fis.read())!= -1) {... } fis.close(); } 28

Datei sequentiell schreiben public static void main(string[] args) throws... { } byte d[]; FileOutputStream fos; fos = new FileOutputStream("c:\\test.dat"); for (int i = 0; i < 1024; i++) { fos.write(d); } fos.close(); 29

Wahlfreier Zugriff public static void main(string[] args) throws... { } RandomAccessFile rf; rf = new RandomAccessFile( "c:\\winnt\\taskman.exe", "r"); rf.seek(200); /* Auf Byte 200 positionieren */ System.out.println("Byte 200: " + rf.read()); System.out.println("Position: " + rf.getfilepointer()); rf.close(); 30

Verzeichnis durchgehen } public static void main(string[] args) throws... { File f; File fs[]; f = new File("c:\\"); fs = f.listfiles(); for (int i = 0; i < fs.length; i++) {... // fs[i].length() für die Dateigröße // verwenden } 31

aus VL file allocation table (FAT) the FAT concept is a simple but efficient variation of the linked allocation method used by MS-DOS and also (for the sake of backward compatibility) by OS/2, Win95, Windows NT idea: additionally to the directory add a FAT for each volume (partition) also, if possible: cache the FAT! 32

aus VL file allocation table (FAT) FAT serves as a linked list FAT has one entry for each disk block the directory entry contains the block number of the very first block of the file each FAT entry contains the block number of the next block of the file the very last block contains a special end of file marker EOF unused blocks are marked by 0 Copy of FAT 33

aus VL file allocation table (FAT) FILE XX.Y START 9 Directory Entry File Data 9 25 27 E O F............. Part1 Part3..... Part2.. 10 8 9 10 25 26 27 FAT Allocation Units = Clusters 34

Hinweise Übung 1 (1) Fragmentierung / Defragmentierung bei FAT simulieren Nur die Verwaltung der Daten (eben die FAT) muss simuliert werden. Die eigentlich referenzierten Daten spielen keine Rolle File Data 9 25 27.................... 10 8 9 10 25 26 27 FAT Allocation Units = Clusters 35

Hinweise Übung 1 (2) Benutzereingaben Erstellen eines leeren Dateisystems ( Formatieren ) Schrittweise werden Dateien erstellt. Einige werden wieder gelöscht, neue werden wieder angelegt, etc. Es entsteht die für FAT typische Fragmentierung. Entwerfen Sie einen Defragmentierungsalgorithmus. 36

Hinweise Übung 1 (3) Herausforderungen Vorgehen bei Simulation allgemein; Simulationsablauf Verschiedene Algorithmen werden benötigt und müssen von Ihnen zuerst entwickelt und anschließend implementiert werden. Ansprechende Visualisierung Beginnen Sie rechtzeitig, obwohl Sie beinahe 1 Monat für die Ausarbeitung Zeit haben! 37