28.01.2015 Aufrufe

Technische Informatik II - Communication Systems Group

Technische Informatik II - Communication Systems Group

Technische Informatik II - Communication Systems Group

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Technische</strong> <strong>Informatik</strong> <strong>II</strong><br />

Übung 4<br />

Aufgabenstellung<br />

1. Konzepte<br />

a) Dateitypen<br />

Windows verwendet das Suffix des Dateinamens, um den Typ einer Datei<br />

festzulegen. Geben Sie 2 andere Möglichkeiten an, den Dateityp im Filesystem<br />

festzuhalten.<br />

b) Zugriffsrechte<br />

Wir betrachten nun das Zugriffsrechtesystem von UNIX. Zugriffsrechte können<br />

für jede Datei separat für den Besitzer (user), die Gruppe des Besitzers (group)<br />

und den Rest der Welt (other) gesetzt werden. Dabei wird zwischen den<br />

Rechten read (r), write (w) und execute (x) unterschieden.<br />

Mit dem Befehl ls -l kann der Inhalt des aktuellen Verzeichnisses inklusive<br />

Informationen zu den Zugriffsrechten für die einzelnen Dateien ausgegeben<br />

werden. Beantworten Sie die untenstehende Fragen anhand des folgenden<br />

Outputs von ls –l. Auf dem System gibt es 2 Gruppen: studenten und<br />

dozenten. Die Benutzer stud1 und stud2 gehören zur Gruppe studenten,<br />

prof1 gehört zur Gruppe dozenten.<br />

-rw-r----- 1 stud1 studenten 4484 2007-03-12 14:09 loesung3.doc<br />

-rw-rw---- 1 prof1 dozenten 6442 2007-01-29 13:48 musterloesung3.doc<br />

-rw-rw-r-- 1 prof1 dozenten 9261 2007-01-29 18:17 uebung3.doc<br />

i. Darf stud1 die Datei uebung3.doc lesen<br />

ii. Darf stud2 die Datei loesung3.doc ändern<br />

iii. Darf prof1 die Datei loesung3.doc lesen<br />

iv. Angenommen prof1 möchte nun den studenten Leserechte auf der<br />

Datei musterloesung3.doc geben. Mit welchem Befehl kann er dies tun<br />

v. Was bedeuten die Rechte read (r), write (w) und execute (x) für<br />

Verzeichnisse<br />

c) Dateioperationen<br />

Welche Operationen auf Dateien stellt ein Betriebssystem typischerweise zur<br />

Verfügung Erklären Sie jeweils in Stichworten, was die Operation genau tut.<br />

<strong>Technische</strong> <strong>Informatik</strong> <strong>II</strong>, Übung 4 6. Mai 2010 Seite 1/4


2. Hierarchische Strukturen<br />

a) Verzeichnis<br />

Beschreiben Sie in eigenen Worten, was ein Verzeichnis ist und wozu es<br />

eingesetzt/verwendet wird.<br />

b) Absolute und relative Pfade<br />

Betrachten Sie die Baumstruktur in der Abbildung. Angenommen, wir befinden<br />

uns momentan im Verzeichnis stud1. Geben Sie den absoluten und den<br />

relativen Pfad der Datei muloe3.doc an. Erklären Sie, in welchen Fällen es<br />

Vorteilhaft ist mit absoluten und wann mit relativen Pfaden zu arbeiten.<br />

c) Links<br />

Die gestrichelte Linie vom Verzeichnis /home/stud1/ti1 zur Datei<br />

uebung3.doc ist ein symbolischer Link. Wie lautet der kürzeste Pfad vom<br />

Verzeichnis stud1 zu uebung3.doc<br />

3. Dateisysteme<br />

In dieser Aufgabe betrachten wir ein Filesystem basierend auf Ext2 mit folgenden<br />

Parametern:<br />

• 1000 Datenblöcke<br />

• 1 Datenblock ist 512 Bytes gross<br />

• 200 Inodes<br />

• 1 Inode ist 512 Bytes gross<br />

• Der Inode kann 10 Datenblöcke direkt adressieren und kann auf 2<br />

Indirektionstabellen erster Ordnung verweisen.<br />

• Eine Indirektionstabellen erster Ordnung braucht 512 Bytes und kann auf 256<br />

Datenblöcke verweisen.<br />

• Es gibt keine weitere Indirektionstufe.<br />

<strong>Technische</strong> <strong>Informatik</strong> <strong>II</strong>, Übung 4 6. Mai 2010 Seite 2/4


a) Wie viele Dateien können maximal auf diesem Filesystem erstellt werden<br />

b) Wie viele Bytes (Nutzdaten) kann eine Datei auf diesem Filesystem maximal<br />

beinhalten<br />

c) Wie viel Platz in Bytes belegt eine Datei mit 6140 Bytes Nutzdaten<br />

d) Wie viele zusätzliche Inodes benötigt ein Hardlink auf eine existierende Datei<br />

mit 5100 Bytes Nutzdaten<br />

4. Virtuelles Dateisystem<br />

Ein virtuelles Dateisystem (VFS) erlaubt es, verschiedene Dateisysteme (z.B. Ext2,<br />

NTFS, NFS) in einem gemeinsamen Verzeichnisbaum darzustellen. Dazu wird eine<br />

Schicht zwischen den Dateioperationen, welche vom Betriebssystem zur Verfügung<br />

gestellt werden (read, write, open, ...), und den Dateisystem-spezifischen<br />

Implementationen dieser Operationen definiert.<br />

In UNIX Systemen wird die Inode Nummer gebraucht um eine Datei eindeutig in<br />

einem Dateisystem zu identifizieren.<br />

a) Mounten<br />

Wofür wird der Befehl mount in einem Unix System eingesetzt<br />

b) Mehrere Dateisysteme im Verzeichnisbaum des VFS<br />

i. Welches Problem entsteht, wenn gleichzeitig mehrere Dateisysteme in<br />

einem gemeinsamen Verzeichnisbaum eingehängt werden<br />

ii. Wie geht das VFS mit diesem Problem um<br />

iii. Welche Einschränkung von Hardlinks steht damit im Zusammenhang<br />

c) Datei-Lookup im VFS<br />

i. Sie möchten auf eine Datei, deren vollen Pfad und Namen bekannt ist,<br />

zugreifen. Beschreiben Sie die Grundlegenden Schritte, die das VFS<br />

hierfür durchführen muss.<br />

do {<br />

1 1. <br />

2 2. nächste Pfadkomponente berechnen<br />

3 3. <br />

5 4. <br />

6 5. zur Behandlung von Symlinks: follow_link()<br />

} while (weitere Komponente vorhanden);<br />

(Zugriff mittels Dentry Objekt für die Datei)<br />

ii.<br />

iii.<br />

In Schritt fünf wird der Fall behandelt, dass es sich bei der aktuellen<br />

Pfadkomponente um einen symbolischen Link handelt. Sie beobachten<br />

nun, dass diese Funktion bei einer Prototyp-Implementation eines<br />

neuen Dateisystems in einer Endlosschleife zu laufen scheint. Welches<br />

mit Symlinks zusammenhängende Problem hat der Programmierer hier<br />

wohl übersehen Geben Sie ein Beispiel für einen Verzeichnisbaum an,<br />

der dieses Problem auslösen könnte (in der Art wie in Aufgabe 2b).<br />

Wie lässt sich das Problem aus <strong>II</strong>. lösen Machen Sie einen Vorschlag<br />

und schauen nach, wie das Problem im VFS von Linux gelöst ist<br />

HINWEIS: /fs/namei.c<br />

<strong>Technische</strong> <strong>Informatik</strong> <strong>II</strong>, Übung 4 6. Mai 2010 Seite 3/4


5. Journaling<br />

a) Eine Datei besteht typischerweise aus mehreren Bestandteilen, welche an<br />

unterschiedlichen Orten im Filesystem abgelegt werden. So gibt es für jede<br />

Datei nebst den eigentlichen Daten auch einen Eintrag in einem Verzeichnis<br />

und einen Inode.<br />

Beschreiben Sie, welche Operationen wo im Filesystem ausgeführt werden<br />

müssen, um eine Datei zu löschen.<br />

b) Wir nehmen nun an, dass der Computer während dem Löschen durch einen<br />

Stromausfall abstürzt. Geben Sie einen möglichen Fall an, in dem das<br />

Dateisystem nach Absturz nicht mehr konsistent ist.<br />

c) Um solche Inkonsistenzen (resp. einen zeitaufwändigen Filesystemcheck beim<br />

reboot) zu vermeiden, setzen viele moderne Dateisysteme Journaling ein.<br />

Erklären Sie in eigenen Worten, wie Journaling funktioniert und wie es das<br />

oben aufgetauchte Problem lösen kann.<br />

Informationen zu Journaling finden Sie z.B. unter<br />

http://de.wikipedia.org/wiki/Journaling<br />

<strong>Technische</strong> <strong>Informatik</strong> <strong>II</strong>, Übung 4 6. Mai 2010 Seite 4/4

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!