previoushomenext

Einführung in das Betriebssystem BeOS 5

mail Tobias

- 64-bit file system -

 

BeOS verwendet für seine Volumes kein Dateisystem im herkömmlichen Sinn. Vielmehr handelt es sich dabei um eine Kreuzung aus relationaler Datenbank und Dateisystem. In der Datenbank liegen Tabellen wie `File´, `Folder´ und `Person´ vor, die wiederum entsprechende Records enthalten (und ggf. auf Raw-Daten auf der Platte zeigen). Ein Record kann nun zum Beispiel eine Datei oder einen Ordner repräsentieren, aber auch etwas völlig anderes. Durch die Datenbank erlangt BeOS eine unschätzbare Flexibilität, großen Komfort und gänzlich neue Möglichkeiten.
Zu den wichtigsten Operationen, die man mit einer Datenbank durchführen kann, zählt das Auffinden eines oder mehrerer Einträge mit mehr oder weniger genau festgelegten Eigenschaften. Diese Aufgabe erledigt eine Query (Anfrage), die durch ein BQuery-Objekt repräsentiert wird. BQuery ist den konventionellen Suchmethoden in vielerlei Hinsicht weit überlegen. Die Suche ist universell, sie kann in nur einer oder in mehreren Tabellen, ob indiziert oder nicht, erfolgen, mit beliebig einfachen oder komplexen Suchkriterien. BQuery liefert sehr schnell eine aktuelle Liste aller gefundenen Records.
Man kann auf diese Art und Weise mit dem Browser zum Beispiel unmittelbar alle EMails suchen lassen, die vor letzter Woche von martin@bongo.com gekommen sind, länger als 3 K sind und das Wort `gediegen´ enthalten. Eine Browser Query ist übrigens selbst Bestandteil der Datenbank; man kann also auch später wieder auf sie zurückgreifen.

Auf Wunsch überwacht das Betriebssystem alle Aktivitäten in den Records der Zieltabellen. Sobald einer dieser Records geändert wird, prüft ihn das Betriebssystem auf die Suchkriterien. Die `lebendige´ Query ist so immer auf dem aktuellen Stand, ohne meßbar Rechenzeit zu verbrauchen. Durch die ins System integrierte Datenbank wird auch eine Datensynchronisation möglich, die sonst nur schwer zu implementieren wäre:



last changed on Sunday, 28.05.2000 18:26
- Seminar Alternative Programmiersprachen -
© 2k by Tobias Niemann - All rights reserved