Login
Newsletter
Werbung

Mo, 20. Dezember 2004, 10:48

Software::Distributionen::Debian

Debian GNU/Hurd unterstützt große Ext2-Dateisysteme

Debian GNU/Hurd hat einen Patch in den Hurd-Kernel integriert, der die Verwendung von Ext2-Dateisystemen mit mehr als 2 GiB Größe ermöglicht.

Aktivität des Debian GNU/Hurd-Projekts bis August 2003

Aktivität des Debian GNU/Hurd-Projekts bis August 2003

Obwohl die nötigen Änderungen bisher nicht von den Hurd-Upstream-Entwicklern abgesegnet wurden, sind die Entwickler von Debian GNU/Hurd sich einig, die Unterstützung im Hurd behalten zu wollen, da der praktische Nutzen das Risiko, sich vom Original-Hurd wegzuentwickeln, aussticht. Seitens der Upstream-Entwickler ist noch eine Standardisierung der veränderten API zu erwarten, die sich im Ernstfall von der des Debian-Hurd unterscheidet.

Seit die 2 GiB-Begrenzung Mitte der 90er-Jahre begann, ein Problem darzustellen, gab es immer wieder Diskussionen, die Beschränkung in GNU/Hurd aufzuheben. Der nun integrierte Patch findet seinen Ursprung in einer Alpha-Version aus dem April 2003, die sich auf eine Blockgröße von 4 KiB beschränkte. Nach einer längeren Pause setzte sich die Entwicklung fort. Ferner arbeitete der Autor - Ognyan Kulev - zum Zweck seiner Master-Abschlussarbeit auch an einem Treiber für das Journaling-Dateisystem Ext3.

In einem GNU/Hurd-System sind Dateisystemtreiber als Übersetzer (engl. translator) implementiert. Diese stellen reguläre Userspace-Programme dar, die sich an einen Dateisystemeintrag (sprich Verzeichnis oder Datei) binden und über diesen Knoten beliebige Informationen darstellen. Diese Information kann im Falle von Dateisystemtreibern der Inhalt eines Dateisystems sein, andererseits auch der Inhalt eines Verzeichnisses auf einem FTP-Server. Es kann außerdem komplett von jeglicher physischer Repräsentation entkoppelt sein, womit Pseudodateisysteme wie proc von Linux möglich sind.

Ein ähnliches Ziel verfolgt unter Linux das FUSE-Projekt (Filesystem in Userspace), welches die Implementierung von Dateisystemen außerhalb des Kernels ermöglichen soll. Für diesen Zweck ist allerdings ein generisches Kernelmodul vonnöten, welches die Anfragen über eine Bibliothek an reguläre Programme weiterleitet.

Bisher bildete der Ext2-Treiber das komplette Dateisystem auf den Speicher des Übersetzerprozesses ab. Da der Adressraum auf 32-Bit-Systemen bei 2 GiB an seine Grenzen stößt, war hier auch bei der Dateisystemgröße Schluss. Der neue Ansatz setzt stattdessen auf zwei Hash-Tabellen, die Speicheradressen auf Positionen der Partition abbilden und umgekehrt. Verbindungen zwischen diesen Daten kommen erst bei einem Zugriff zustande und können später nach dem Gebrauch wieder aufgelöst werden, womit der Speicher effizienter benutzt wird.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung