Bernd Brodesser <[EMAIL PROTECTED]> writes:

> > Baumstruktur heisst, dass die Elemente (Inhalte) nicht in einer linearen
> > Liste gef�hrt werden, sondern halt wie ein Baum. Beispiel: Um in einer
> 
> Gut, ist mir schon klar, aber was bedeutet hier Inhalt? Wo stehen

Du hast dich noch nicht allzu intensiv mit Dateisystemen besch�ftigt? OK, dann
werde ich mal mein Ged�chtnis ein wenig strapazieren:

Dir ist ja einigerma�en klar, was man so alles prinzipiell speichern muss,
also neben den eigentlichen Daten auch diverse
Verwaltungsinformationen. Schauen wir uns das mal an einem der simplesten DS
an, die man basteln kann, FAT. Hier gibt es keinen kompakten,
zusammenh�ngenden Bereich, die File Allocation Table, in der gespeichert wird,
welche Bereiche der Platte belegt sind, d.h. welche Verzeichnisse es gibt,
welche Dateien dort drinliegen und vor allem welche Position auf der Platte
der *Anfang* der Datei hat, also der 1. Sektor der Datei. Das waren die
Verwaltungsinfos. Jetzt die eigentlichen Daten. �ber die FAT kommt man an den
1. Sektor der Daten, aber wo liegt der Rest? Na ja, im 1. Sektor der Daten
gibt es eine Stelle, an der die Position des 2. Sektors gespeichert ist und im
2. Sektor findet sich neben den eigentlichen Daten auch noch eine Stelle, an
der die Position des 3. Sektors gespeichert ist usw. Dieses Verfahren ist
einfach und in bestimmten Bereichen sogar sehr effizient und benutzt eben zum
Speichern der Daten eine verkettete Liste und f�r die Verwaltungsinfos eine
Bitmap, also einen gesonderten Bereich. IIRC finden sich die Dateiattribute in
der FAT, aber da bin ich mir nicht mehr 100%ig sicher.

Die meisten Verbesserungen an Dateisystemen hat man lange Jahre nur in die Art
der Speicherung der Verwaltungsinformationen gesteckt, um die Verwaltungsinfos
n�her an die physikalische Position der Daten zu bekommen, um so
Zugriffszeiten zu optimieren. Bei gro�en Platten muss bei FAT der Kopf erstmal
an den Anfang der Platte zur FAT und dann zur eigentlichen Position der
Daten. Daher gingen viele Ans�tze in die Richtung, die
Verwaltungsinformationen als Baum einigerma�en gleichm��ig �ber die Platte zu
streuen bzw. so zu verteilen, dass die Verzeichnis- und Dateiinfos ganz in der
N�he der eigentlichen Daten landen. Dazu noch ein paar Versuche, die Daten
nicht allzu sehr zu fragmentieren, um so die Perfomance zu steigern.

An eine andere Speicherung der *Daten* hat man bei DS lange nicht gedacht,
obwohl dies bei Datenbanken schon sehr lange �blich ist und man in der
restlichen Informatik eigentlich �ber die Vorteile von B�umen Bescheid
wei�. Allerdings vermutete man diverse Performance-Probleme bei vielen kleinen
Daten. Inzwischen gibt es aber einige Ans�tze (u.a. ReiserFS), eben auch die
Daten anders zu speichern (hier sollte BeOS nicht unerw�hnt bleiben, die haben
gleich eine Datenbank als Dateisystem genommen). Und in den meisten F�llen
wirde eine Baumstruktur mit ein paar Varianten und Anpassungen f�r die
Speicherung der Daten benutzt wobei nat�rlich die Verwaltungsdaten wie bei
fr�heren Ans�tzen ebenfalls �ber die Platte gestreut werden, um sie m�glichst
nah an die Position der Daten, zu denen sie geh�ren, zu bekommen.

> Ich vermute doch mal recht stark, da� in den Datenbl�cken nichts
> anderes steht als Daten und alles andere anderswo gespeichert, und
> das k�nnte man dann wieder i-node nennen, auch wenn sie wie ein Baum
> aufgebaut ist. Oder sehe ich das falsch?

Ja, siehst du. :)

Die I-Nodes von ext2 sind z.B. die Verwaltungsdaten, also Attribute,
Verzeichnisinhalt und Verweis auf den 1. Sektor der Dateien, �hnlich, wie
z.B. auch bei OS/2s HPFS oder NTs NTFS (IIRC). In allen F�llen werden die
Daten in einer verketteten Liste gespeichert, wobei jeder Datensektor der
Datei auch einen Verweis auf den folgenden Sektor enth�lt, sonst w�re es keine
verkettete Liste und Anh�ngen an Dateien w�re nicht ganz unproblematisch
(zeitaufwendig).

-- 
Until the next mail...,
Stefan.

--
-----------------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie bitte eine
E-Mail an [EMAIL PROTECTED] die im Subject
"unsubscribe <deine_email_adresse>" enthaelt.
Bei Problemen bitte eine Mail an: [EMAIL PROTECTED]
-----------------------------------------------------------

$COUNT eingetragene Mitglieder in dieser Liste.

Antwort per Email an