Du betrachtest das Filesystem zu sehr von der Seite der Datenstrukturen auf der Disk. Das ist aber nur die eine Seite, die andere sind die Algorithmen, die eben genau diese Strukturen erzeugen und verwalten und die natürlich auch Teil des Betriebssystems sind. Der User und auch die übergeordnete Schicht im Betriebssystem sagt aber nur, lese oder schreibe Datei abc im Verzeichnis xyz. Erst das Filesystem verwandelt das in Befehle zum Lesen oder Schreiben von bestimmten LBAs (logischen Adressen der Disk), wo diese Datei wirklich liegt.mellow67 schrieb:aber WO im Dateisystem hingeschrieben wird ist doch auch "von aussen" bestimmt?!
Das Lesen ist dabei das Einfachste, beim Schreiben wird es kompliziert, denn dabei darf natürlich niemals auf einen LBA geschrieben werden, der einer anderen Datei zugeordnet ist. Das Filesystem muss also die ganze Belegung der Disk verwalten und genau das macht der Controller einer SSD ja auch, weil er den ganzen benutzen LBAs ja die richtigen Flashadressen zuordnen muss. Deshalb wäre es eigentlich am sinnvollsten, die ganze Verwaltung des Filesystems auf den SSD Controller zu übertragen und ihm nicht mehr zu sagen, lies x LBAs ab Adresse y sondern lies File abc im Verzeichnis xyz. Das geht aber natürlich nicht mit dem SATA oder SCSI Protokoll, da muss was neues her, denn diese Protokoll stammen noch aus einer Zeit, als der Controller einer Platte nur ganz wenig konnte und gerade erst die LBA Adressierung gelernt hat. Davor musst das Betriebssystem ihm sogar noch konkret sagen, welchen Kopf, Zylinder und Sektor er anfahren sollte. (Diese Adressierungsart geht heute noch, nur rechnet der Controller das intern auf LBAs um und diese wieder auf den richtigen Kopf, Zylinder und Sektor, weil man sonst nur schlecht unterschiedlich viele Sektoren auf den Zylindern unterbringen kann.)