PI5514 FUSE: Dateisysteme im Detail

Modulverantwortliche
  • Prof. Dr. Hellwig Geisse
Lehrende
  • Prof. Dr. Hellwig Geisse
Notwendige Voraussetzungen zur Teilnahme

Keine

Empfohlene Voraussetzungen zur Teilnahme

Gute Kenntnisse in Betriebssystemen und systemnaher Programmierung

Kurzbeschreibung

In einem Projekt wird ein einfaches Inode-Dateisystem als Backend für FUSE (File System in User Space) implementiert. Damit wird es möglich, unter Linux auf das EOS32-Dateisystem transparent zuzugreifen. Die Studierenden arbeiten in Gruppen an verschiedenen Teilen des gemeinsamen Projekts.

Inhalte
  • Konzept und Funktionsweise von FUSE
  • Konzept und Funktionsweise des EOS32-Dateisystems
  • Analyse und Abbildung der bereitzustellenden Funktionen
  • Implementierung des EOS32-Dateisystems
    • Buffer Cache
    • Inode-Verwaltung
    • Block-Verwaltung
    • Directories
    • Abbildung Pfad zu Inode
    • File I/O
  • Trennung der Datentypen und Strukturen von Host und Target
  • Test des Backends, Logging
  • Dateisystem-Test und -Reparatur
Qualifikations- und Lernziele

Fachkompetenzen

  • Die Studierenden können das Ziel und die Funktionsweise von FUSE beschreiben.
  • Sie sind in der Lage, die Funktionen eines FUSE-Dateisystems auf ein gegebenes Dateisystem abzubilden und diese zu implementieren.

Methodenkompetenzen (fachlich & überfachlich)

  • Die Studierenden sind in der Lage, den Aufwand für die Planung und Implementierung eines FUSE-Dateisystems abzuschätzen.

Sozialkompetenzen

  • Die Studierenden sind in der Lage, eigenverantwortlich Arbeiten im Team durchzuführen.
  • Sie können Aufgaben in Gruppenarbeit gemeinsam konstruktiv lösen und sich gegenseitig unterstützen.

Selbstkompetenzen

  • Die Studierenden können ihren Lernfortschritt reflektieren und ihr Lernverhalten anpassen.
ECTS-Leistungspunkte (CrP)
  • 6 CrP
  • Arbeitsaufwand 180 Std.
  • Präsenzzeit 60 Std.
  • Selbststudium 120 Std.
Lehr- und Lernformen
  • 4 SWS
  • Seminaristischer Unterricht 2SWS
  • Praktikum 2SWS
Studiensemester
  • Informatik (M.Sc. 2022)
Dauer
1 Semester
Häufigkeit des Angebots
Nach Bedarf
Unterrichtssprache
Deutsch
Bonuspunkte

Nein

Bonuspunkte werden gemäß § 9 (4) der Allgemeinen Bestimmungen vergeben. Art und Weise der Zusatzleistungen wird den Studierenden zu Veranstaltungsbeginn rechtzeitig und in geeigneter Art und Weise mitgeteilt.

Prüfungsleistungen

Prüfungsvorleistung:

Keine

Prüfungsleistung:

Entwicklung in der Informatik

Benotung
Die Bewertung des Moduls erfolgt gemäß §§ 9, ggf. 12 (Teilleistungen), ggf. 18 (Arbeiten, Kolloquien) der Allgemeinen Bestimmungen (Teil I der Prüfungsordnung).
Verwendbarkeit
Gemäß § 5 der Allgemeinen Bestimmungen (Teil I der Prüfungsordnung) Verwendbarkeit in allen Masterstudiengänge der THM möglich.
Literatur, Medien
  • FUSE auf GitHub: https://github.com/libfuse/libfuse
  • Bach, M: The Design of the UNIX Operating System. Pearson.
  • Lions, J.: Commentary on UNIX 6th Edition. https://bitsavers.org/pdf/att/unix/6th_Edition
  • Projekt „EOS32 on ECO32” auf GitHub: https://github.com/hgeisse/eos32-on-eco32
  • Projekt „ECO32” auf GitHub: https://github.com/hgeisse/eco32

Rechtliche Hinweise