Bs-61 6.1.5 Verzeichnisdateien Anstelle eines zentralen Verzeichnisses: Menge von Verzeichnisdateien (directory files), die selbst in Verzeichnissen verzeichnet.

Slides:



Advertisements
Ähnliche Präsentationen
Ext2. Geschichte Minixerhebliche Beschränkungen extfs ext2erstmals aufhebung aller drängenden Beschränkungen ext3erweiterung um Journaling.
Advertisements

Präsentation PS: Klasse File von Janko Lange, Thomas Lung, Dennis Förster, Martin Hiller, Björn Schöbel.
Ausführen.
Kapitel 11 Deadlocks RW-Systemarchitekur Kap. 11.
Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an:
DVG Dateien Dateien. DVG Dateien 2 Die Klasse File Die Klasse File stellt die Verbindung zwischen dem Filesystem des Rechners und dem.
FH-Hof Der B-Baum Richard Göbel. FH-Hof Wahl des Verzweigungsgrad Verzweigungsgrad kann größer als 2 sein v Nachfolger für einen Knoten v-1 Werte in einem.
6.4 Zugriffsschutz Betriebssystem muss Betriebssicherheit garantieren:
Objektorientierte Programmierung
Lightweight Directory Access Protocol
Systeme 1 Kapitel 3 Dateisysteme WS 2009/10.
Systeme 1 Kapitel 3 Dateisysteme.
10 Streams JavaHS Merseburg WS 05/06 E/A - Ströme (Streams) in Java.
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Indirekte Adressierung
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
Motivation Richard Göbel.
Effizienz: Indexstrukturen
Dateihandles Um in Perl eine bestimmte Datei zum Lesen, Schreiben oder Anhängen zu öffnen, benötigt man so genannte Dateihandles. Ein Dateihandle ist der.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann.
PS: Basisinformationstechnologie Jens Alvermann
1 Named Pipes alias FIFO Haben einen Eintrag im Dateisystem und sind somit durch Zugriffsrechte identifizierbar Ermöglichen die Kommunikation zwischen.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 9 Claudio Moraga; Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Eingabeaufforderung (EA) Windows I Nützliche Kommandos (Kommando und /? liefert meist eine Liste von Optionen): cd bzw. chdir: change directory, wechselt.
DbjFileManager Paul Fruntzek Michael Stanek. Überblick Unterste Ebene im Schichtenmodell Schnittstelle zum BS (Low-Level) Aufgabenbereich: Persistente.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Programmierung 1 - Repetitorium
UNIX-Dateisystem Vortrag: Ronny Kuhnert am
DVG Dateien. DVG Die Klasse File Die Klasse File stellt die Verbindung zwischen dem File-System des Rechners und dem JAVA-Programm her.
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Klassen und Objekte
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
Datenströme DVG Datenströme.
© 2005 Pohlig - Taulien Datenströme GK Informatik 1 Datenströme.
FH-Hof 1 XML-Parser Richard Göbel. FH-Hof 2 XML-Parser- DOM Object Tree Parser Objekt der Klasse 'DocumentBuilderFactory' mit 'newInstance()' erzeugen.
7.1 Externes Suchen Bisherige Algorithmen: geeignet, wenn alle Daten im Hauptspeicher. Große Datenmengen: oft auf externen Speichermedien, z.B. Festplatte.
Entwurfs- und Implementationsdiagramme
Dateisysteme Marcel Waldvogel. Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 2 Dateisysteme Was ist eine Datei?
Datenstrukturen für Landkarten
Konstruktion der Voronoi-Diagramme II
Vergleich Windows – Linux I
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Copyright 2011 Bernd Brügge, Christian Herzog Grundlagen der Programmierung TUM Wintersemester 2011/12 Kapitel 11, Folie 1 2 Dr. Christian Herzog Technische.
Betriebssysteme: Unix
Einführung in 2 Betriebssysteme
Torque in Turbine Team 4 Josef Bohninger Thomas Lindenhofer
DATEISPEICHER in der S P S
Datei hochladen Um Mit der Dateiverwaltung zu beginnen klicken Sie zunächst auf den Wiki verwalten Button. Dann klicken Sie auf Dateien.
1 Tagesüberblick 2 Lösung Hausaufgabe/Fragen Datei- ein- und ausgabe Schleifen Vergleiche Wahrheit.
Kommandozeile und Batch-Dateien Molekulare Phylogenetik – Praktikum
Vortrag: Frames & Javascript.
Einführungstutorial: Linux Konsole
1 Tagesüberblick 4 Lösung Hausaufgabe/Fragen Mustervergleiche.
Blockseminar Allgemeine Technologien II Dozent: P. Sahle März 2009 PHP in HTML Referentin: Angela Brinck.
7.5.5 Namensdienste (bereits erwähnte Beispiele: Rmiregistry, Portmapper)  dienen der Abbildung von „Namen“ auf Verweise, Nummern,...  sollten ihre Information.
Bs-61 6 Dateiverwaltung. bs-62 Datei (file) = abstraktes Datenobjekt mit folgenden Eigenschaften:  persistent ( = langzeitgespeichert auf Platte oder.
Bs Implementierung der Dateiverwaltung Für hohe Effizienz: Caching – vielfach werden Kopien von Plattendaten für längere Zeit im Arbeitsspeicher.
Java-AG Datenstreams: Dateibehandlung, Lesen aus und schreiben in eine Datei.
6.2 Repräsentation auf Platten
IT2 – WS 2005/20061Nov 14, 2005 Visibility  public: Sichtbar in allen Paketen  protected: Sichtbar innerhalb des Pakets und in den Unterklassen  (default,
6.4.4 Berechtigungen (Capabilities)
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
Übung Betriebssystem, Uni Innsbruck 1 Projekt1: Prozesse unter Unix Teil I Grundlagen von Unix.
Ein- und Ausgabe in Java Packet: java.io
Programmiersprachen II Vorbesprechung Klausur Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Umbenennung von Baugruppen und Einzelteilen mit Hilfe von EPD Connect Erstellt von Leslie Fischer Computer Konzept GmbH Ludwig-Wilhelm-Straße
Tutorium Software-Engineering SS14 Florian Manghofer.
 Präsentation transkript:

bs Verzeichnisdateien Anstelle eines zentralen Verzeichnisses: Menge von Verzeichnisdateien (directory files), die selbst in Verzeichnissen verzeichnet sind, alle ab einem Wurzelverzeichnis (root directory) direkt oder indirekt erreichbar. M.a.W.: Dateien bilden einen gerichteten Graphen, meist zyklenfrei, häufig Dateibaum

bs-62 Vorteile: strukturierter statt flacher Namensraum, mit effizienter Implementierung: Dateien werden über Wegnamen im Graphen (Pfadnamen, path names) identifiziert, d.h. Folgen von verzeichneten Namen, z.B. /b/23/x

bs-63 Vorteile: strukturierter statt flacher Namensraum, mit effizienter Implementierung: Dateien werden über Wegnamen im Graphen (Pfadnamen, path names) identifiziert, d.h. Folgen von verzeichneten Namen, z.B. /b/23/x Wurzel: in Unix verboten (um Zyklen zu vermeiden, die die Dateispeicher- verwaltung erschweren) aal b x b x 1 23 bla y fritz

bs-64 Verzeichnisdateien sind Dateien – und haben daher die normalen Attribute von Dateien: differenzierter Zugriffsschutz auf Teilbereiche des Namensraums Verwaltung von Zugriffszeiten für Teilbereiche des Namensraums

bs-65 Modell: Abbildung Zeichenkette Dateiverweis (6.1.3 )6.1.3 Operationen: Einträge einfügen, suchen, ändern, löschen (6.1.1 )6.1.1 und auflisten ( = interner Iterator), aber ohne dass dabei Dateiverweise in die Hände des Benutzerprogramms geraten ( )

bs Aktuelle Verzeichnisse (Unix:) Jedes Verzeichnis hat grundsätzlich einen selbstbezüglichen Eintrag mit Namen "." einen Eintrag für das Elternverzeichnis mit Namen ".." (Unix:) Jeder Prozess hat Attribute aktuelles Arbeitsverzeichnis (current working directory), aktuelles Wurzelverzeichnis (current root directory),

bs-67 absoluter Wegname:beginnt mit '/' und wird relativ zum aktuellen Wurzelverzeichnis interpretiert relativer Wegname: beginnt ohne '/' und wird relativ zum aktuellen Verzeichnis interpretiert, z.B. aktuelles Verzeichnis: /usr/lohr Wegname tmp/bla.txt bedeutet /usr/lohr/tmp/bla.txt

bs-68 chdir(path) macht das Verzeichnis path zum aktuellen Verzeichnis chroot(path) macht das Verzeichnis path zum aktuellen Wurzelverzeichnis (diese Systemfunktion ist dem super-user root vorbehalten)

bs Erzeugen eines Verzeichnisses mkdir(path,mode) erzeugt ein Verzeichnis path mit Schutzstatus mode ; das Verzeichnis ist leer – bis auf Einträge für "." und ".."

bs Einträge einfügen/löschen link (path,..) creat(path,..) mkdir(path,..)... bewirken das Einfügen eines Eintrags (name,.) in das Verzeichnis dir, wenn der angegebene Wegname path so aussieht: "dir/name

bs-611 unlink("dir/name") löscht den Eintrag (name,.) im Verzeichnis dir sofern name kein Verzeichnis ist rmdir("dir/name") löscht den Eintrag (name,.) im Verzeichnis dir sofern name ein leeresVerzeichnis ist (bis auf "." und ".." ) Zur Erinnerung:Zur Erinnerung:Ein Verzeichnis ist grundsätzlich nur über einen Eintrag erreichbar.

bs Einträge suchen/auflisten file = lookup(path) liefert Verweis auf die Datei path. Achtung: diese Operation steht dem Benutzer nicht zur Verfügung; sie wird nur innerhalb des Betriebssystems benutzt, insbesondere zum Auflösen von Wegnamen !

bs-613 list(path) zur Auflistung der Einträge müsste als interner Iterator konzipiert werden – ist aber nicht vorgesehen. Stattdessen: Verzeichnisdatei wird wie sequentielle Datei geöffnet und gelesen durch Dienstprogramm ls ; ls kennt die interne Repräsentation der Datei (!) und weiß daher, wo die Namen zu finden sind; ls –l erfragt die Attribute der Dateien

bs Einträge ändern Unix: Jeder externe Datenträger enthält ein eigenes Dateisystem mit eigener, lokaler Wurzel mount(device, path, readonly) ersetzt den durch path identifizierten Dateiverweis durch einen Verweis auf das Wurzelverzeichnis des Dateisystems auf dem Gerät device x y z * (aktuelles Arbeitsverzeichnis:)

bs Einträge ändern Unix: Jeder externe Datenträger enthält ein eigenes Dateisystem mit eigener, lokaler Wurzel mount(device, path, readonly) ersetzt den durch path identifizierten Dateiverweis durch einen Verweis auf das Wurzelverzeichnis des Dateisystems auf dem Gerät device x y z mount("/dev/fd0","z",0) a b c * (aktuelles Arbeitsverzeichnis:)

bs-616 ! Der alte Dateiverweis geht nicht verloren: umount(device) macht mount(device,...) wieder rückgängig ! mount, umount stehen nur dem Super-User zur Verfügung ! In diesem Zusammenhang: Bei link(path,alias) müssen sich beide Argumente auf das gleiche Dateisystem beziehen

bs Indirekte Dateien Indirekte Datei (soft link, symbolic link) enthält statt regulärer Daten einen Wegnamen. Bezugnahme auf eine solche Datei wird als Bezugnahme auf die durch den Wegnamen benannte Datei interpretiert: a "x/a" MyA x hard link soft link

bs-618 symlink(path,alias) erzeugt eine indirekte Datei mit Namen alias und Inhalt path, z.B. symlink("x/a","MyA") – auch wenn path bereits eine indirekte Datei ist! link(path,alias) mit indirekter Datei path : erzeugt eine indirekte Datei mit Namen alias und Inhalt von path Bemerkungen: Es gibt keine mehrfachen hard links auf soft links. Es kann Ketten von indirekten Dateien geben. Eine indirekte Datei kann auf eine nicht existierende Datei verweisen!

bs-619 Operationen auf einer indirekten Datei path selbst: unlink(path) wie unlink für normale Dateien; damit wird die indirekte Datei gelöscht – denn es gibt keine mehrfachen hard links auf soft links lstat(path,&buffer) analog zu stat readlink(path,&buffer,bufsize) liefert den Wegnamen in der indirekten Datei

bs Auflisten von Verzeichnissen entweder mit Hilfe eines externen oder internen Iterators oderdurch ein Dienstprogramm (Unix: ls ), das das Verzeichnis als sequentielle Datei liest, dessen interne Repräsentation kennt, somit die Namen der Einträge auflisten kann und mittels stat auch die Attribute der Dateien erfragen kann.

bs-621 jefe: ls -l total 40 -rw lohr institut 7342 Jun 16 20:50 Text lrwxrwxrwx 1 lohr institut 4 Jun 16 21:00 alias -> Text drwx lohr institut 14 Jun 16 20:57 dir -rw lohr institut 266 Jun 16 21:18 foo -rw lohr institut 266 Jun 16 21:18 foo1 -rw lohr institut 266 Jun 16 21:18 foo2 - sequentiell Eigner Eignergruppe Name Inhalt l soft link letzte Änderungszeit d Verzeichnis Größe in Bytes Anzahl der hard links

bs Dateisysteme in Programmiersprachen sind ansprechbar über Modul/Klassen-Bibliotheken Typische Leistung einer solchen Bibliothek: Abstraktion von den spezifischen Systemaufrufen des unterliegenden Betriebssystems Manipulation getypter Daten

bs-623 Java – einige wenige Beispiele aus java.io: class File beinhaltet lediglich einen Wegnamen und erlaubt Abfragen über die so benannte Datei – sofern vorhanden abstract class InputStream ist Oberklasse für diverse ungetypte – d.h. byteorientierte – Eingabeklassen für sequentielles Lesen class FileInputStream extends InputStream ermöglicht das Lesen von Bytes und Bytefolgen aus einer sequentiellen Datei

bs-624 class InputStreamReader extends Reader liest Zeichenfolgen von einem angegebenen InputStream class DataOutputStream extends Writer schreibt Daten aller primitivenTypen in einen angegebenen OutputStream class PrintWriter extends Writer schreibt Daten aller Typen als Zeichenketten in einen angegebenen OutputStream