Navigation überspringen

Interner Aufbau von BeOS

BeOS in Schichten

BeOS-Anwendungen greifen als Clients auf Server zu. Die Server, der Kernel und die Hardware sind ganz klar von den Anwendungen abgeschirmt und werden so in ihrer Ausführung nicht beeinträchtigt falls ein Programm abstürzt.

interner Aufbau

interner Aufbau des Betriebssystem vereinfacht dargestellt

Mehrere Prozessoren gleichzeitig nutzen

Diese Fähigkeit erlaubt BeOS auf Systemen mit mehreren Prozessoren (Symmetric Multiprozessing) zu laufen und diese voll auszunutzen. Durch die Symmetric-Multiprozessing Fähigkeit wird fast eine Verdopplung der Geschwindigkeit bei einem Dual-Prozessorsystem erreicht. Entsprechende Steigerungen erfolgen auch bei Systemen mit vier bzw. acht Prozessoren.

Wenn du also einen schnelleren Rechner haben willst, brauchst du nicht ständig ein neues System zu kaufen. Du kannst also auch einen weiteren Prozessor einbauen, um die Leistung zu verdoppeln, soweit das Motherboard es zulässt.

Diese Möglichkeit, die Arbeit auf mehrere Prozessoren gleichmäßig zu verteilen, wird auch etwas eingeschränkter von Windows 2000 unterstützt. Je nach Version werden 2 bis 16 Prozessoren ausgenutzt, was besonders bei Servern gefordert ist.

Das funktioniert sehr gut wegen des Multithreading. So werden Programme in «Unteranwendungen» aufgeteilt. Diese können dann besser auf zwei Prozessoren verteilt werden als ganze Programme.

Multitasking auf der Programmebene

Damit BeOS ein Programm auf mehrere Prozessoren gleichmäßig verteilen kann, wird jedes Programm in mehrere Prozesse aufgeteilt. Dadurch nutzt praktisch jedes Programm unter BeOS mehrere Prozessoren sofort aus. Damit auch mit zwei Prozessoren nahezu die doppelte Leistung erbracht wird, besitzt BeOS ein vorzügliches Multithreading. Zwischen den einzelnen Prozessen kann sehr schnell hin und her gewechselt werden, wodurch BeOS die beeindruckende Leistungsfähigkeit erreicht.
Diese Eigenschaft sollte auch gleich von der BeBox ausgenutzt werden. Deswegen hatte die BeBox gleich zwei 66-MHz-Prozessoren.

Windows 2000 und Windows XP besitzten ein ähnliches Multithreading. Dabei werden in unserem Beispiel 46 Anwendungen in 508 separate Teile zerlegt. So läuft das Betriebssystem schneller und kann besseres Multitasking bieten.

Multithreading unter Windows 2000

Multithreading unter Windows 2000

Selbst das Winamp Pendant läuft unter BeOS in 11 einzelnen Teilen.

BeOS Threads

Aufteilung des Winamp-Pendants-Prozesses in Threads

Geschützter Arbeitsspeicher für mehr Sicherheit

Durch den Speicherschutz (Protected Memory) kann ein abgestürztes Programm nicht andere Programme oder das Betriebssystem mitreißen. Stattdessen wird das fehlerhafte Programm aus dem Speicher entfernt und man kann ohne Probleme weiterarbeiten. Dieser Schutz geht so weit, dass Programme in absolut getrennten, zugewiesenen Speicherräumen laufen. Programme »wissen« nicht einmal, dass nebenbei noch andere Programme laufen. Bei Windows 95/98/ME dagegen laufen alle Programme zusammen in einem Speicherbereich, der nicht geschützt ist und Zugriffe auf den System-Speicherbereich zulässt. Dadurch stürzt Windows 95/98/ME häufiger ab als Windows NT/2000, das ähnlich aufgebaut ist wie das BeOS.

64-Bit Dateisystem bietet viele Möglichkeiten

BeOS ist für Multimediaanwendungen optimiert, die mit großen Dateimengen arbeiten. BeOS arbeitet dabei mit einem »Multi-Journaling 64-Bit Dateisystem«. Die 64-Bit Adressierung ermöglicht das Speichern von riesigen Datenmengen bis zu mehreren PetaByte (1 PB = 1.048.576 GB). In der Praxis sieht es so aus, dass du ohne Probleme ein unkomprimiertes MPEG-Video im Umfang von mehreren Jahren abspeichern könntest.

Das benötigst du sicherlich nicht, aber eine 64-Bit-Adressierung bringt gewisse Vorteile im täglichen Leben. Im Gegensatz zu FAT 16 verschwendet das BFS (Be File System) keinen Speicherplatz bei kleinen Dateien, denn die Clustergröße ist durch die 64-Bit Adressierung kaum eingeschränkt. Genauer gesagt fängt die Clustergröße, auch für größere Festplatten, erst bei 1 KB an. Dadurch wird bei der Speicherung von kleinen Dateien praktisch kaum Festplattenspeicher verschwendet. Außerdem hat diese Dateistruktur gewisse Fehlertoleranzmechanismen, so dass selbst nach Komplettabstürzen, die fast nie vorkommen, die Daten auf der Festplatte nicht zerstört oder korrupt sind.

Das Dateisystem BFS ist wie eine Datenbank aufgebaut und benutzt erweiterte Dateiattribute und Indizes. Damit ist der Tracker (BeOS Explorer) in der Lage, neben Dateien und Verzeichnissen auch nach Textpassagen oder Emails suchen.

Andere Dateisysteme unter BeOS

BeOS kann ohne Probleme auch andere Dateisysteme lesen oder schreiben. Unter BeOS kann man lesen und schreiben:

  • FAT 16
  • FAT 32
  • HFS (Macintosh-Dateisystem
  • ISO96600 / Joliet (CD-ROM Dateisysteme)

Unter BeOS können folgende Dateisysteme nur gelesen werden:

  • FAT 32X (Windows 98/ME)
  • NTFS (Windows NT/2000)
  • ext2 (Linux Dateisystem)

Theoretisch kann BeOS jedes hierarchisch organisierte Dateisystem mounten (einhängen), z.B. das HFS (Hierarchical File System). Dateisysteme ohne Hierarchien können zwar auch gemountet werden, müssen aber eine simulierte Hierarchie bekommen.

Multimedia- und Echtzeitmöglichkeiten

Die Multimedia-Eigenschaften werden durch die Echtzeitfähigkeit von BeOS unterstützt. Ein sehr genaues Timing für Audio- und Video-Anwendungen wird dadurch ermöglicht. Die Latenzzeit (Ansprechzeit der Hardware) für Audio-Anwendungen liegt bei ca. 2 ms. Ein spezielles API ermöglicht eine sehr schnelle Entwicklung von Programmen. Jedes Programm, das auf diese Fähigkeiten zugreift, kann mit anderen Programmen zusammenarbeiten und sich durch diese ergänzen.

Eigenschaften anderer Betriebssysteme

Andere Betriebssysteme wurden auf ihre Eigenschaften und Funktionen untersucht. Diese Erkenntnisse sind bei der Entwicklung von BeOS mit eingeflossen und weiterentwickelt worden.

Ein Grund für diese Vorgehensweise ist auch, dass bei Be, Inc. ehemalige Entwickler der Betriebssysteme MacOS, NeXTStep, AmigaOS, Windows und Linux mitgearbeitet haben.