Navigation

Konzeption und Implementierung eines VFS Buffer Caches für iPosix

Konzeption und Implementierung eines VFS Buffer Caches für iPosix

Bachelorarbeit

Abgeschlossen von Pascal Hofstee am 29.10.2012. 

Themengebiete

  • Betriebssysteme
  • Speicherverwaltung
  • virtuelles Dateisystem

Hintergrund

Für das Informatik-Modul "Betriebssystemepraktikum" an der Universität Oldenburg kommt bisher das Lehrbetriebssystem OS/161 zum Einsatz. Dieses Betriebssystem bietet eine sehr gute Grundlage um den Aufbau, die Funktionalitäten und die Anforderungen eines Betriebssystems zu erlernen. Da OS/161 jedoch größtenteils in C geschrieben wurde, fehlen z.B. genaue Abgrenzungen von Komponenten, was einen Austausch derselber häufig sehr schwierig macht. Weiterhin wurden Bibliotheksfunktionen meistens nicht vollständig Posix konform nachgebildet, was deren Nutzung unnötig erschwert. Momentan liegt im Modul "Betriebssystemepraktikum" der Fokus auf Synchronizationskonzepten, Prozessmodellierung, Systemaufrufen und virtuellem Speicher, wobei die Bearbeitung weiterer Konzepte als Abschlussprojekt angeboten wird. 2009 wurde, im Rahmen einer Bachelorarbeit, das Lehrbetriebssystem iPosix als möglicher Ersatz für OS/161 konzipiert und implementiert. Auch dieses System soll Studierenden als Grundlage dienen, Systemkomponenten zu verstehen, zu analysieren und selbst zu implementieren. Statt wie bei OS/161, ist iPosix jedoch in C++ geschrieben und primär objektorientiert aufgebaut. Die Anwendung von Konzepten wie Entwurfsmuster aus der Softwaretechnik, soll dabei Studierenden das Verstehen vereinfachen und die Einarbeitungszeit verkürzen, und somit die Bearbeitung weiterer Konzepte im Rahmen des Betriebssystemepraktikum ermöglichen.

Aufgabenbeschreibung

Ziel der Arbeit ist die Konzeption und Implementierung einer Erweiterung der bisherigen rudimentären VFS-Schicht des iPosix Kernels um einen sogenannten Buffer Cache. Zu untersuchen ist wie in iPosix der Zusammenhang zwischen einem tatsächlichen Dateisystem (FAT32), der virtuellen Dateisystem-Abstraktion, und der physikalischen Speicherverwaltung realisiert ist. Darauf aufbauend sollen bereits existierende Schnittstellen angewendet oder erweitert werden und gegebenenfalls neue konzipiert werden, um somit eine Integration eines Buffer Caches zu ermöglichen, so wie sie von Tanenbaum oder Silberschatz angedacht ist.

Damit die korrekte Funktionsweise des neu implementierten VFS Buffer Caches überprüft werden kann, ist es notwendig, dass einige einfache Cache-Strategien bereitgestellt werden. Zu diesem Zweck soll ein Überblick über Cache-Strategien erstellt und deren Auswirkungen bei unterschiedlichem Lese- und Schreibverhalten untersucht werden. Aus diesem Überblick soll eine Anzahl von iPosix Userland-Testprogrammen abgeleitet, konzipiert und implementiert werden, die zur Simulation von verschiedenem Lese- und Schreibverhalten, wie z.B. sequentiellem, zyklischem, und direktem Zugriff dienen.

Vorkenntnisse

  • C++
  • Betriebssysteme
  • Softwarearchitektur
SVSvp-Webm6cpaster (svsnj@informa3v6vtik.uni-oldenburg.de) (Stand: 07.11.2019)