Technische Informatik II - Communication Systems Group
Technische Informatik II - Communication Systems Group
Technische Informatik II - Communication Systems Group
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<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