Die technischen Fortschritte von FreeBSD

Skip site navigation (1) Skip section navigation (2)

Die technischen Fortschritte von FreeBSD

FreeBSD bietet viele hochentwickelte Funktionalit?ten.

Unabh?ngig von der Anwendung m?chten Sie Ihr System optimal ausnutzen. Da FreeBSD den Fokus auf optimale Leistung, Netzwerk- und Speicherfunktionalit?ten zusammen mit einer einfachen Systemverwaltung und einer exzellenten Dokumentation legt, sind Sie genau dazu in der Lage.

Ein komplettes Betriebssystem, basierend auf 4.4BSD.

FreeBSD hat seine Urspr?nge in der BSD-Software, welche von der Computer Systems Research Group an der Universit?t von Californien, Berkeley, ver?ffentlicht wurde. Seit damals sind mehr als 10 Jahre vergangen. In dieser Zeit wurde BSD massiv verbessert. Unter anderem wurde ein heraussagendes SMP und Multithreading implementiert. Zus?tzlich wurden neue Managementtools, Dateisysteme und Sicherheitsfunktionalit?ten in FreeBSD integriert. Als Folge dieser Arbeiten wird FreeBSD heute in allen Bereichen des Internets, beispielsweise als Betriebssystem von Core-Routern und Root-Nameservern, als Webserver f?r umfangreiche Webseiten sowie als Basis f?r weitverbreitete Desktop-Betriebssysteme eingesetzt. Diese weite Verbreitung wurde nur durch die weltweit verteilten und engagierten Mitarbeiter des FreeBSD Projects m?glich.

FreeBSD bietet fortgeschrittene Betriebssystem-Funktionalit?ten, die es f?r den Einsatz auf unterschiedlichsten Systemen, von eingebetteten Systemen bis hin zu High-End-Multiprozessorsystemen pr?destinieren.

FreeBSD 7.0 (das im Februar 2008 erschienen ist) bringt sowohl zahlreiche neue Funktionalit?ten als auch eine verbesserte Systemleistung. Der Schwerpunkt dieser neuen Version liegt auf der Verbesserung der Speicher- und Multiprozessorleistung. Beispielsweise unterst?tzt FreeBSD 7.0 erstmals das Dateisystem ZFS von Sun und bietet eine hoch skalierbare Multiprozessorleistung. Benchmarks haben gezeigt, das FreeBSD auf Servern mit 8 Prozessorkernen beim Umgang mit MySQL- und PostgreSQL-Datenbanken doppelt so schnell arbeitet wie aktuelle Linux-Systeme.

  • SMPng: Nach sieben Jahren Entwicklung, in denen an der Implementierung einer leistungsf?higen SMP-Unterst?tzung gearbeitet wurde, wurde mit FreeBSD 7.0 das Ziel eines feingranulierten Kernels erreicht, der eine lineare Skalierbarkeit f?r bis zu acht Prozessorkernen erlaubt, um auch hohen Anforderungen zu gen?gen. Der als Giant Lock bekannte Sperrmechanismus wurde nahezu vollst?ndig (unter anderem aus dem CAM Storage Layer sowie dem NFS-Client) aus FreeBSD 7.0 eleminiert und durch einen feingranulierten Sperrmechanismus f?r das Netzwerk-Subsystem ersetzt. Bedeutende Fortschritte wurden auch in den Bereichen Kernelscheduling und Locking Primitives gemacht. Der nun optional verf?gbare ULE-Scheduler erm?glicht Thread-CPU-Affinit?t sowie prozessorspezifische Warteschlangen, um den Overhead zu verringern und die Cache-Leistung zu verbessern. Das libthr Threading-Paket (das 1:1-Threading erlaubt) ist nun standardm??ig aktiviert. Benchmarks haben gezeigt, dass dadurch auf der gleichen Multiprozessorhardware im Vergleich zu anderen UNIX?-Betriebssystemen eine deutlich bessere Systemleistung erzielt werden kann, ein Umstand, der erst durch die intensiven Arbeiten an der Implementierung der SMP-Technologie in den FreeBSD-Kernel m?glich wurde.
  • Dateisystem ZFS: Bei Sun’s ZFS handelt es sich um ein State-of-the-Art-Dateisystem, das ein einfache Administration, Transaktionssemantiken, Ende-zu-Ende-Datenintegrit?t und eine ausgezeichnete Skalierbarkeit bietet. Mit Funktionen wie Selbstheilung, eingebauter Kompression, RAID, Snapshots und Volume Management erlaubt es ZFS Systemadministratoren, komplexe Speicherverb?nde einfach zu verwalten.
  • 10-Gigabit-Netzwerkoptimierung: Durch optimierte Ger?tetreiber aller wichtigen 10-Gigabit-Netzwerkanbieter konnte die Leistungsf?higkeit des Netzwerk-Stacks von FreeBSD 7.0 drastisch verbessert werden. Zu den neuen oder verbesserten Funktionen geh?ren: Automatisch skalierende Socket-Buffer, TCP Segment Offload (TSO), Large Receive Offload (LRO), Direct Network Stack Dispatch, sowie einen TCP/IP-Lastenausgleich ?ber mehrere Prozessoren beim Einsatz von 10-Gigabit-Netzwerkkarten oder beim simultanen Einsatz von mehreren Netzwerkkarten. Folgende Hersteller bieten einen umfassenden FreeBSD-Support: Chelsio, Intel, Myricom, sowie Neterion.
  • SCTP: FreeBSD 7.0 stellt die Referenzimplementierung des neuen IETF Stream Control Transmission Protocols (SCTP) dar, das entwickelt wurde, um VoIP, Telekommunikation und andere Anwendungen, die eine hohe Zuverl?ssigkeit bei variabler Sendequalit?t erfordern, zu unterst?tzen. Dazu wurde Funktionalit?ten wie Multi-path Delivery, Fail-over und Multi-Streaming implementiert.
  • Drahtlose Verbindungen: FreeBSD 7.0 verf?gt ?ber eine signifikant verbesserte Unterst?tzung f?r drahtlose Ger?te, beispielsweise der leistungsf?higen Atheros-basierten Karten. Zus?tzlich wurden neue Treiber f?r Ralink-, Intel- und ZyDAS-Karten entwickelt. Die Unterst?tzung f?r WPA, Background Scanning und Roaming sowie 802.11n wurde ebenfalls verbessert oder neu implementiert.
  • Neue Hardware-Architekturen: FreeBSD 7.0 enth?lt eine signifikant verbesserte Unterst?tzung f?r die eingebettete ARM-Architektur. Au?erdem wird erstmalig die Sun Ultrasparc T1-Plattform unterst?tzt.

F?r FreeBSD wurden im Laufe der Zeit zahlreiche fortgeschrittene Betriebssytem-Funktionalit?ten entwickelt. Einige dieser Funktionalit?ten werden im Folgenden beschrieben:

  • Ein Puffer-Cache, der gemeinsam vom Dateisystem und virtuellen Speicher genutzt wird, regelt kontinuierlich den Speicherplatz von Programmen und dem Festplatten-Cache. Daher profitieren Anwendungen gleichzeitig von der ausgezeichneten Speicherverwaltung und den schnellen Festplattenzugriffen. F?r den Systemadministrator entf?llt das Optimieren der Cache-Gr?ssen.
  • Kompatibilit?ts-Module erlauben die Ausf?hrung von Anwendungen unter FreeBSD, welche eigentlich f?r andere Betriebsysteme, wie z.B. Linux, SCO UNIX und System?V Release?4, geschrieben wurden.
  • Soft Updates steigern die Leistung von Dateisystemen, ohne dabei die Sicherheit und Zuverl?ssigkeit zu beeintr?chtigen. Dazu werden Operationen auf Dateisystem-Metadaten analysiert, damit diese nicht mehr synchron abgearbeitet werden m?ssen. Stattdessen werden noch ausstehende Operationen in einem Puffer zwischengespeichert. Diese werden dann durch Zusammenfassen mehrerer Operationen auf dieselbe Datei, sowie einer effektiveren Gestaltung der Abarbeitungsreihenfolge, optimiert. Funktionen wie die ?berpr?fung des Dateisystems im Hintergrund, und Schnappsch?sse (Snapshots) eines Dateisystems, basieren auf der Beschaffenheit und Geschwindigkeit von Soft Updates.
  • Dateisystem Snapshots erm?glichen dem Administrator atomare Schnappsch?sse eines Dateisystems als Backup zu erstellen, indem der freie Speicherplatz verwendet wird. Im Hintergrund ausgef?hrte ?berpr?fungen des Dateisystems erm?glichen es einem System, im Mehrbenutzerbetrieb zu laufen, ohne auf die Beendigung eventueller Korrekturen am Dateisystem warten zu m?ssen.
  • Unterst?tzung f?r IPsec und IPv6 bieten eine h?here Netzwerksicherheit und das Internet-Protokoll der n?chsten Generation. Die Implementierung von IPsec in FreeBSD beinhaltet auch die Unterst?tzung einer breiten Menge an Hardware, die kryptographische Verschl?sselungen beschleunigt.
  • Hervorragende Unterst?tzung von IPv6 mittels des KAME IPv6 Stacks erm?glicht eine nahtlose Integration von FreeBSD in Netzwerkumgebungen der n?chsten Generation. Unter FreeBSD sind bereits Anwendungen verf?gbar, welche um eine Unterst?tzung von IPv6 erweitert wurden!
  • Multi-threaded SMP Architektur, die eine parallele Ausf?hrung des Kernels auf mehreren Prozessoren erlaubt, sowie Pr?emption des Kernels, welche es einem Prozess mit hoher Priorit?t erlaubt, andere Aktivit?ten des Kernels zu unterbrechen, und so effektiv die Latenzzeit zu reduzieren. Dies beinhaltet auch einen Multi-Threaded Netzwerkstack, sowie ein virtuelles, multi-threaded Speichersubsystem. Seit FreeBSD 6.X steht die Unterst?tzung eines vollst?ndig parallelen VFS zur Verf?gung, welches es dem UFS-Dateisystem erlaubt, gleichzeitig mehrere Prozessoren zu bedienen, und die Lastverteilung rechenintensiver I/O-Operationen zu optimieren.
  • M:N Threading via pthreads erlaubt eine skalierbare Ausf?hrung von Threads auf mehreren CPUs, indem viele Benutzer-Threads auf eine kleine Anzahl von Kernelentit?ten verteilt werden. Durch die ?bernahme des Scheduler Activation-Models kann das Threading an spezielle Anforderungen einer breiten Masse an Anwendungen angepasst werden.
  • Netgraphs erweiterbarer Netzwerkstack erlaubt Entwicklern, diesen dynamisch und einfach ?ber saubere Abstraktionsschichten zu erweitern. Netgraph-Knoten k?nnen eine breite Masse an Netzwerkdiensten, unter anderem Kapselung, Tunnelung, Verschl?sselung sowie Performanceanpassung, ausf?hren. Dadurch ist eine schnelle Entwicklung von Prototypen, und ein schnellerer produktiver Einsatz von erweiterten Netzwerkdiensten einfacher und fehlerfreier m?glich.
  • Erweiterbare Kernel-Sicherheit des TrustedBSD MAC Frameworks erm?lglicht Entwicklern eine Anpassung des Betriebsystems an spezielle Umgebungen, vom Einrichten restriktiver Richtlinien bis hin zu vorgeschriebenen Verhaltensregeln zur Vertraulichkeit. Die Sicherheitsrichtlinien beinhalten Multi-Level Security (MLS), sowie Biba Integrety Protection. Zus?tzliche Module beinhalten SEBSD, eine FLASK-basierte Implementierung von Type Enforcement.
  • Bei TrustedBSD Audit handelt es sich um einen Dienst, der ein feingranuliertes, sicheres Aufzeichnen von die Systemsicherheit betreffenden Ereignissen ?ber den Audit-Dienst erm?glicht. Administratoren k?nnen dabei gezielt festlegen, welche Ereignisse aufgezeichnet werden sollen. Zu diesen Ereignissen geh?ren beispielsweise das Benutzerverhalten, der Zugriff auf ?berwachte Dateien, ausgef?hrte Befehle, Netzwerkaktivit?ten, Anmeldungen am System sowie verschiedene andere Ereignisse. Audit-Pipes erlauben es IDS-Programmen, den Kernel-Audit-Dienst zu nutzen und Informationen ?ber Ereignisse, die sie aus Sicherheitsgr?nden ?berwachen m?ssen, zu beziehen. FreeBSD unterst?tzt das BSM Audit-Trail-Dateiformat sowie dessen API (die den Industriestandard darstellen). Daher k?nnen vorhandene BSM-Werkzeuge in der Regel ohne oder nur mit geringen Anpassungen unter FreeBSD eingesetzt werden. Das BSM-Dateiformat wird auch unter Solaris sowie Mac OS X eingesetzt, daher sind Interoperabilit?t sowie eine system?bergreifende Analyse m?glich.
  • GEOMs erweiterbare Speicherschicht erlaubt eine schnelle Entwicklung und nahtlose Integration neuer Speicherdienste in das FreeBSD Speicher-Subsystem. GEOM bietet ein einheitliches und zusammenh?ngendes Model, um Speicherdienste zu erkennen und bereitzustellen, so dass Dienste wie RAID und Volume Management einfach abstrahiert werden k?nnen.
  • FreeBSDs GEOM-basierte Festplattenverschl?sselung (GBDE) bietet unter Verwendung des GEOM Frameworks starken kryptographischen Schutz, und kann Dateisysteme, Auslagerungsger?te und andere Datenspeichermedien verwenden.
  • Kernel-Queues erm?glichen es Anwendungen, effizienter auf asynchrone Ereignisse, wie I/O-Operationen auf Dateien und Sockets, zu reagieren, und dadurch die Leistungsf?higkeit der Anwendungen und des Systems zu verbessern.
  • Accept-Filter erlauben verbindungsintensiven Anwendungen, wie z.B. Webservern, Teile ihrer Funktionen sauber in den Betriebsystemkern auszulagern, und so deren Leistungsf?higkeit zu steigern.

FreeBSD bietet viele Sicherheitsmerkmale, um Netzwerke und Server abzusichern.

Den FreeBSD-Entwicklern bedeutet Sicherheit genauso viel, wie Geschwindigkeit und Stabilit?t. FreeBSDs Kernel bietet Unterst?tzung f?r Stateful IP-Firewalling, sowie IP Proxy Gateways, Access Control Lists, Mandatory Access Control, Jail-basiertes virtuelles Hosting und kryptographisch gesicherte Datenspeicher. Diese Funktionalit?ten erlauben hochsicheres Hosting f?r mehrere, sich gegenseitig nicht vertrauende Kunden oder Konsumenten, eine strenge Aufteilung von Netzwerken, sowie den Aufbau sicherer Pipelines zur Geheimhaltung und Kontrolle von Informationsfluss.

FreeBSD bietet unter anderem Verschl?sselungswerkzeuge, sichere Shells, Kerberos-Authentifizierung, “virtuelle Server” durch die Verwendung von Jails, den Betrieb von Diensten in chroot-Umgebungen, um den Zugang der Dienste zum Dateisystem einzuschr?nken, Secure RPCs sowie Zugriffslisten f?r Dienste, die TCP-Wrapper unterst?tzen.