Ja, hallo. Ich darf Sie jetzt ganz herzlich zum letzten Teil dieser Vorlesung System Programmierung
2 begrüßen. Wir hatten uns im Rahmen dieser Vorlesung ja mit den verschiedenen Konzepten
beschäftigt, die ein Betriebssystem bereitstellt, um einerseits von den Details einer Hardware-Plattform
zu abstrahieren und um die verschiedenen Ressourcen, die so ein Betriebssystem eben
anbietet, auch vernünftig zu verwalten und der Nutzung zwischen verschiedenen
Anwendungen möglicherweise auch zu koordinieren. Die erste dieser großen
Abstraktionen, mit denen wir uns beschäftigt haben, waren die Prozesse.
Damit abstrahiert man letztendlich von den CPUs und den CPU-Kernen und
natürlich die ganzen Koordinierungsmechanismen, die man braucht, wenn
man konkurrierende Prozesse in einem System hat. Der zweite große Bereich, um
den es ging, war Speicher. Wie verwaltet man den Hauptspeicher eines Systems,
damit eben auch verschiedene Prozesse ihn nutzen können.
Dabei ging es in erster Linie jetzt bisher um die Abstraktion vom Hauptspeicher
in Form von adressräumen, logischen virtuellen adressräumen. Und der
dritte große Bereich, von dem man abstrahieren will, ist der
Hintergrundspeicher.
Der wird einerseits natürlich auch im Rahmen der Hauptspeicherverwaltung mit
verwendet, weil ja Teile des Hintergrundspeichers auch in solche
logischen Adressräume oder virtuellen Adressräume eingeblendet werden können.
Aber er wird auch in einer anderen Art und Weise noch eingesetzt, nämlich zum
langfristigen Speichern von Daten, indem man solchen Daten Namen geben kann. Und
die werden dann unter diesem Namen eben abgelegt.
Das Schlagwort ist Dateisystem. Wie lege ich unter einem Namen auf einem
Hintergrundspeicher Daten an, auf die ich dann hinterher auch wieder zugreifen
können möchte. Dazu gehören zwei Dinge. Einerseits natürlich die Art und Weise,
wie ich die Daten konkret auf dem Medium, dem Hintergrundspeicher Medium, ablege.
Und das zweite ist die Verwaltung der Namen, der Namensraum, der dazu gehört.
Und wir kennen diese Namensräume in Form von diesen Directory-Strukturen.
Aber das ist eigentlich nur eine Art und Weise, wie man das machen kann. Aber
natürlich die verbreitetste. Es gibt gerade im Bereich von objektorientierten
Programmierumgebungen schon auch das Konzept, dass man einfach Objekte,
programmiersprachliche Objekte, ja, persistent erklären kann, ihnen einen
Namen gibt und dann im Rahmen von einem Anwendungsprogramm, auch zu einem
späteren Zeitpunkt oder einer späteren Ausführung, auf solche Objekte, die unter
einem Namen abgelegt wurden, wieder zugreifen kann. Aber das wirklich
verbreitete, was man eigentlich in allen Betriebssystemen seit Jahrzehnten
vorfindet, sind eben diese Directory-Strukturen, unter denen man eben
normale Dateien ablegen kann. In Unix wurde dieses Konzept ja dann noch ganz
pfiffig erweitert, indem man in diesen Namensraum auch den Zugriff auf Geräte
eingebunden hat. Ja, und im Rahmen dieser Veranstaltung wollen wir uns jetzt
als erstes mal so die verschiedenen Speichermedien anschauen, was die
Grundlage für die Speicherung ist. Dann will ich im Detail darauf eingehen, wie
man die Inhalte von Dateien konkret speichern kann, wie man das eben
verwaltet auch, weil diese Medien bieten einem ja eigentlich nur die Möglichkeit
an, irgendwie Datenblöcke abzulegen. Genauso wie bei der Hauptspeicherverwaltung
ist natürlich eine ganz wichtige Angelegenheit die Freispeicherverwaltung.
Und dann werden wir uns einige Datalsysteme konkret anschauen.
Einerseits Datalsysteme unter Unix-Systemen und was jetzt ein Novum
eigentlich im Rahmen dieser Veranstaltung ist, wir werden uns auch das NTFS aus der
Windows-Umgebung anschauen. Einzig oder allein eigentlich aus dem Grund, es ist ein
Presenters
Zugänglich über
Offener Zugang
Dauer
00:24:34 Min
Aufnahmedatum
2021-01-26
Hochgeladen am
2021-01-26 10:39:26
Sprache
de-DE