Freies Unix-Derivat FreeBSD 7.0 fertiggestellt

Das neue FreeBSD-Release ersetzt nicht die kürzlich erschienene Version 6.3, sondern eröffnet eine neue Linie, die durch gravierende Veränderungen gekennzeichnet ist.

In Pocket speichern vorlesen Druckansicht 182 Kommentare lesen
Lesezeit: 9 Min.
Von
  • Björn König

Die Entwickler des FreeBSD-Projekts haben Version 7.0 des freien Betriebssystems freigegeben. Neben den obligatorischen Fehlerbereinigungen und der Aktualisierung der Softwarepakete weist das freie Unix-Derivat eine Vielzahl von Verbesserungen und neuen Funktionen auf. Dieses Release ersetzt nicht die kürzlich erschienene Version 6.3, sondern eröffnet eine neue Linie, die durch gravierende Veränderungen gekennzeichnet ist. Da bei einem professionell betriebenen Server solche Veränderungen nicht unbedingt erwünscht sind und die Server-Betreiber Zeit für Tests der neuen Funktionen und Möglichkeiten benötigen, wird die alte Linie 6.x weiterhin gepflegt und ergänzt. Die offizielle Unterstützung der 5.x-Reihe aber, die Ende 2004 für den produktiven Einsatz freigegeben wurde, wird im Mai dieses Jahres enden.

Die Bemühungen einer komplett überarbeiteten Mehrprozessorunterstützung bestehen bei FreeBSD bereits seit Ende der 90er-Jahre. Mit einem kommenden FreeBSD 7.x oder 8.0 wird diese Entwicklung voraussichtlich vorerst ihren Höhepunkt finden. In jeder Hinsicht wird aber deutlich, dass man mit dem aktuellen FreeBSD-Release 7.0 dem Ziel schon ziemlich nahe kommt. Bisher musste man bei der Installation zwischen einem Einzel- und Mehrprozessorkernel wählen oder im Nachhinein einen Kernel mit der entsprechenden Einstellung selbst bauen. Jetzt gibt es nur noch einen Standard-Kernel für beide Systemkonfigurationen. Somit stehen von Anfang an, also auch bereits während der Installation, alle verfügbaren Prozessoren bzw. Prozessorkerne zur Verfügung.

Mit diesem Release gibt es optional einen neuen Prozess-Scheduler, der als ULE 3.0 bezeichnet wird. Ein Scheduler dient der Zuteilung von Prozessor-Ressourcen, also CPU-Zeit, an die laufenden Prozesse des Systems. Die zunehmende Bedeutung von Rechnern mit mehreren Prozessoren verlangte nach einem Ersatz für den bewährten und robusten, aber in diesem Punkt schwächelnden 4BSD-Scheduler. Der Versuch, diesen Scheduler zu ersetzen, blieb über viele Jahre hinweg erfolglos. Ein Entwickler ließ sich von dem Dokument "Understanding the Linux 2.6.8.1 CPU Scheduler" inspirieren. Sein Scheduler erwies sich als eine ernstzunehmende Alternative, da er nicht nur die Anforderungen an einen modernen Scheduler erfüllt, sondern sogar die Reaktionsfähigkeit des Systems auf Einprozessormaschinen geringfügig verbessert.

Außerdem wurden die Speicherverwaltungsfunktionen der C-Bibliothek von Grund auf neu geschrieben. Die alte Implementation ist bereits weit über 10 Jahre alt und wurde unter der Voraussetzung geschrieben, dass nur wenig Speicher zur Verfügung steht, mit dem möglichst sparsam umgegangen werden soll. Die neuen Funktionen bewirken insbesondere bei Multi-Thread-Anwendungen einen bedeutsamen Geschwindigkeitsschub. Davon war auch ein Firefox-Entwickler so überzeugt, dass diese Funktionen in die kommende Version 3 des Browsers aufgenommen wurden. Nach ihrer Aussage läuft der Firefox dadurch sowohl unter Windows, Linux als auch Mac OS X nachweislich schneller und verbraucht wesentlich weniger Speicher bei langer Laufzeit.

Schließlich haben die FreeBSD-Entwickler nun auch den Schwenk von der betagten 3er-Release-Reihe der GNU Compiler Collection auf 4.2.1 vollzogen. Diese GCC-Version unterstützt OpenMP, eine Schnittstelle, die die Verwendung parallelisierter Abläufe in Programmen wesentlich erleichtert. Der Entwickler einer Anwendung muss sich so nicht mehr um Thread-Programmierung kümmern. Stattdessen bekommt der Compiler die Anweisung, den Code entsprechend zu zerlegen und anzupassen, sodass das Programm am Ende auf mehreren Prozessoren verteilt ausgeführt wird.

Beinahe alle Treiber wurden dahingehend überarbeitet, dass sie den Mehrprozessorbetrieb hinsichtlich der Leistungsfähigkeit nicht beeinträchtigen. Ausgenommen davon ist zum Beispiel die ISDN-Unterstützung, die deswegen vorübergehend stillgelegt wurde und erst in Version 7.1 wieder zur Verfügung stehen wird. Die Treiberausstattung von FreeBSD wurde um Intels High Definition Audio 1.0 und Envy24-Soundchips von Via ergänzt. Dazu kamen ebenfalls ein paar Treiber für diverse 1- und 10-Gigabit-Netzwerk- und WLAN-Adapter.

Die Unterstützung von Netzwerkprotokollen wurde um eine SCTP-Implementierung erweitert. Dabei handelt es sich um ein Protokoll, das auf den Transport von kontinuierlichen Datenströmen ausgelegt ist und Vorteile von TCP und UDP vereint. Die Implementation in FreeBSD erfolgte durch den Erfinder von SCTP, Randall R. Stewart, der beim Netzwerkausrüster Cisco beschäftigt ist und der führende Kopf bei der Entwicklung dieses Protokolls war. Weiterhin hat man nun auch die Möglichkeit mit Hilfe des iSCSI-Protokolls auf SCSI-Geräte zuzugreifen, die über einen entsprechenden iSCSI-Router in ein TCP/IP-Netzwerk eingebunden sind. Eine vom Prinzip her ähnliche Funktion ist einigen Benutzern bereits durch Jörg Schillings Remote-SCSI-Protokoll bekannt, das in Verbindung mit dem Programm cdrecord verwendet wird, um auf CD-Brenner über das Netzwerk zuzugreifen. iSCSI wurde hingegen unter der Federführung von IBM, Hewlett-Packard und Cisco entwickelt und dient der Realisierung von Massenspeichernetzwerken.

Zur Verwendung von Linux-Software unter FreeBSD wurde einiges verbessert: Es gibt einen neuen Treiber, der die Schnittstelle des "Linux SCSI Generic"-Treibers nachbildet. Mit seiner Hilfe kann man Linux-Programme zur Ansteuerung von SCSI-Geräten verwenden. Die allgemeine Linux-Kompatibilität wurde auf den Stand von Linux 2.6.16 gebracht. Außerdem lassen sich nun Linux-Treiber prinzipiell mit nur geringfügigen Anpassungen kompilieren und verwenden. So hat man jetzt die Möglichkeit, bestimmte Webcams mit einem Linux-Treiber in Gang zu bringen.

Bei den Dateisystemen gibt es ebenfalls Neues: tmpfs ist ein Dateisystem, das komplett im Speicher gehalten wird, aber im Gegensatz zur klassischen "RAM-Disk" wesentlich effizienter mit Ressourcen umgeht. Damit kann ein schnellerer Zugriff auf temporäre Dateien geboten werden, und zusätzlicher Festplattenspeicher wird nicht mehr benötigt. Das von OpenSolaris portierte 128-Bit-Dateisystem ZFS nähert sich einem zuverlässigen Zustand unter FreeBSD. ZFS setzte neue Maßstäbe hinsichtlich Datenintegrität und Wartbarkeit. Eine eher experimentelle Implementation zum Lesen von XFS-Dateisystemen hielt ebenfalls Einzug in FreeBSD. Schließlich gibt es jetzt auch die häufig geforderte Unterstützung von Dateisystem-Journaling zur Erhöhung des Schutzes vor einem Totalverlust bei beispielsweise einem Stromausfall. Dies wurde in Form eines Moduls realisiert, das sich auf beliebige Dateisysteme anwenden lässt.

Ab sofort stehen ISO-Images auf den FTP-Servern zur Verfügung. Disc1 beinhaltet alle Dateien für eine Grundinstallation des Systems und X.org 7.3. Auf disc2 befinden sich KDE 3.5.8 und Gnome 2.20.1. Die dritte CD bietet eine Auswahl häufig genutzter Anwendungen und Werkzeuge. In der FreeBSD Mall können auch FreeBSD-CDs und -DVDs bestellt werden. Die Release Notes enthalten eine detaillierte Liste der Neuerungen; das Errata-Dokument, das bei jedem FreeBSD-Release aktuelle Informationen bietet, die kurz vor Freigabe bekannt wurden, enthält derzeit keine weiteren Hinweise über Sicherheitslöcher oder nicht behobene Probleme.

FreeBSD ist eines der freien Unix-Derivate, die auf der freien Unix-Version 4.4BSDLite2  beruhen. Zu den bekanntesten Vertretern dieser BSD-Systeme gehören neben FreeBSD und dessen Abkömmling DragonFly BSD noch OpenBSD sowie NetBSD (zur Geschichte der BSD-Unix-Derivate siehe Das Allerwelts-Unix: 10 Jahre NetBSD):

(Björn König) / (jk)