Einführung in das Betriebssystem BeOS 5 |
- 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:
- Importiert man eine Datei in ein anderes Dokument (zum Beispiel ein Bild in einen Text), so kann man die Daten selbst in das Dokument kopieren oder nur eine Referenz auf die Datei, die die Daten enthält. Im letzteren Fall werden die Daten bei jedem neuen Öffnen des Abonnenten aktualisiert. Das BeOS erlaubt mittels einer live Query, die Daten nicht nur beim erneuten Öffnen des Abonnenten zu aktualisieren, sondern automatisch unmittelbar beim Sichern der importierten Datei. Dies ist bei anderen Systemen ohne ständig erneutes Überprüfen des Änderungsdatums oder sehr spezielle Abstimmung der Programme nicht möglich.
- Ändert sich etwa die Adresse oder Telefonnummer eines Freundes, korrigiert man sie genau ein einziges Mal. Man muß nicht mehr einzeln die Faxsoftware, das Adreßbuch und etliche andere Programme neu konfigurieren. Es besteht natürlich auch die Möglichkeit, die von einer Query oder sonst irgendwie gewonnenen Record-IDs in Verbindung mit BFile oder BDirectory (beides abgeleitet von BStore) zu verwenden. Diese beiden Funktionen repräsentieren Dateien und Ordner im `Dateisystem´, welches durch die Datenbank dargestellt wird.
Von BFile ist abermals BResourceFile (für den Ressourcen-Zweig, vgl. Mac-HFS) abgeleitet. Alternativ zu den etwas fremd anmutenden Datenbankfunktionen kann man sich durch die Verzeichnisse auch mittels Funktionen wie GetRootDirectory(), GetParent(), Contains() bewegen oder per get_ref_for_path() direkt einen Pfadnamen verwenden
last changed on Sunday, 28.05.2000 18:26
|
- Seminar Alternative Programmiersprachen
-
|
© 2k by Tobias
Niemann - All rights reserved
|