Zum Inhalt springen

NetBSD

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 30. Oktober 2006 um 01:12 Uhr durch Markweinem (Diskussion | Beiträge) (kleiner Korrekturen, weitere Links). Sie kann sich erheblich von der aktuellen Version unterscheiden.
NetBSD

Das NetBSD-Logo
Entwickler The NetBSD Foundation
Lizenz(en) BSD-Lizenz
Erstveröff. 19. April 1993
Akt. Version 3.0.1 (25. Juli 2006)
Abstammung \ UNIX
  \ BSD
    \ 386BSD und 4.4BSD-Lite
      \ NetBSD
Architektur(en) Mehr als 55
Sonstiges Preis: kostenlos
Sprache: Englisch
www.NetBSD.org

NetBSD ist ein Unix-Derivat und gehört zur Familie der BSD-Betriebssysteme. Es wird unter der BSD-Lizenz frei vertrieben.

Zur BSD-Familie zählen neben NetBSD insbesondere FreeBSD, OpenBSD und DragonFly BSD. Während NetBSD und FreeBSD von 386BSD abstammen, spaltete sich OpenBSD 1995 von NetBSD ab, und DragonFly BSD ging 2003 aus FreeBSD hervor.

Überblick

Nach 386BSD war NetBSD im Jahr 1993 die zweite BSD-Variante, die als Open Source Betriebssystem veröffentlicht wurde. Bis heute wird es aktiv entwickelt und ist aufgrund seiner guten Portierbarkeit auf nahezu jedem Computer einsetzbar. Ein weiteres wichtiges Merkmal ist die Qualität von NetBSD durch den klaren Aufbau des Systems und die saubere Umsetzung von Lösungen.

Mittlerweile ist NetBSD auf 55 Hardware-Plattformen portiert worden, auf 32-Bit- und auf 64-Bit-Systeme, mit Unterstützung für einen oder mehrere Prozessoren. Als universelles Betriebssystem für eine breite Palette von Anwendungszwecken konzipiert, kann NetBSD auf unterschiedlicher Hardware eingesetzt werden: auf Servern, Workstations, Desktop-PCs, Notebooks, PDAs und auf Embedded-Systemen. Dabei ist die Unterstützung aktueller Schnittstellen, Speichersysteme, Netzwerkprotokolle und Dateisysteme bereits integriert. Für Anwendungsprogramme steht das umfangreiche Paketsystem pkgsrc zur Verfügung, während der Einsatz von Virtuellen Maschinen mit Xen möglich ist.


Eigenschaften

Im folgenden Abschnitt wird NetBSD zu ähnlichen Unix- und Linux-Systemen positioniert, danach werden die Schnittstellen für die Anwendungsprogramme und die Schnittstellen für die Hardware erläutert.

Abgrenzung zu Unix und Linux

NetBSD ist ein Unix-kompatibles Betriebssystem, ähnlich den sehr zahlreichen auf Linux-basierenden Distributionen. NetBSD ist jedoch keine Linux-Distribution. NetBSD besteht aus einem eigenen Betriebssystemkern (Kernel) und dem zugehörigem Userland, wobei diese eng integriert und optimal aufeinander abgestimmt sind - Änderungen die im Kernel gemacht werden, werden parallel auch in den zugehörigen Programmen im Userland nachgezogen, so dass hier stets Konsistenz gewahrt ist.

Ein weiterer Unterschied zu Linux-basierten Systemen ist, dass NetBSD der BSD-Lizenz unterliegt und nicht der GPL ( GNU General Public License). Während die GPL dazu verpflichtet, sämtliche Änderungen offenzulegen - was beim Einsatz im kommerziellen Umfeld mitunter problematisch und häufig unerwünscht ist - erlaubt es NetBSD, dass Änderungen einbehalten werden können und nicht veröffentlicht werden müssen.


Schnittstellen für Open Source Anwendungen

Für Anwender, Anwendungen und Programmierer bietet NetBSD eine Unix/POSIX-kompatible Schnittstelle an, auf der tausende von Anwendungen aus dem Open Source Bereich mit Hilfe der Paketverwaltung aufgesetzt werden können:

NetBSD besteht aus einem kleinen Basisset mit integrierten Anwendungen, die genannten Applikationen können mit Hilfe der Paketverwaltung nachinstalliert werden, je nach Einsatzzweck des Rechners. Als Paketsystem kommt pkgsrc, die „NetBSD Packages Collection“ zum Einsatz. Diese bietet alternativ die Wahl, entweder vorkompilierte Binärpakete zu installieren, oder Programme mittels eines einfachen Befehls selbst zu erstellen.

pkgsrc ist auch auf verschiedene andere Betriebssysteme portiert worden, unter anderem auf FreeBSD, DragonFly BSD, Solaris und GNU/Linux.


Gleiches Verhalten auf jeder Hardware

NetBSD ist Nachfolger des an der Universität von Berkeley in Kalifornien entwickelten BSD-Unix. Als das BSD-Projekt Anfang der 90er Jahre eingestellt wurde, unterstützte es verschiedene Hardware-Plattformen, darunter IBM-kompatible PCs, aber auch Workstations von Hewlett-Packard, Sun Microsystems und Digital. Das NetBSD-Projekt hat sich dem Erhalt der Portabilität und dem Ausbau der Multiplattform-Fähigkeiten verschrieben.

Deshalb unterstützt NetBSD heute nicht nur viele "alte" Computer-Architekturen, sondern läuft ebenso selbstverständlich auf modernen Geräten mit Desktop-, Server- und Embedded-Hardware, wie beispielsweise AMD Opteron CPUs, PowerPC, MIPS, und ARM/XScale sowie Xen-basiert auf virtualiserter Hardware. Die Liste der mehr als 50 unterstützten Hardware-Plattformen (Stand: Oktober 2006) unterstreicht damit das Motto der NetBSD-Entwickler„Of course it runs NetBSD“ („Natürlich läuft NetBSD darauf“). Der Support für all diese Plattformen basiert auf einem einzigen Quellbaum.

Die zentrale Verwaltung des Quellcodes und das auf Portabilität ausgelegte Design sind die Gründe, warum neu-entwickelte Lösungen sofort auf allen Plattformen verfügbar sind: Das aufwendige Rückportieren neuer Funktionen entfällt. Auch bei der Entwicklung neuer Treiber wird Wert auf plattform-unabhängige Lösungen gelegt. Eine PCI-Karte funktioniert deshalb auf i386, DEC Alpha, PowerPC, Sun SPARC oder anderen Architekturen mit PCI-Unterstützung. Ein Ethernet-Chip, der auf verschiedenen PCI, ISA und USB-Geräten enthalten ist, erfordert nur einen einzigen Treiber, der dann über verschiedene Bus-Attachments angebunden ist. Neue Funktionen und Fehlerkorrekturen sind in maschinenunabhängigem Code unmittelbar auf allen unterstützten Architekturen verfügbar.

Diese Plattformunabhängigkeit vereinfacht die Entwicklung. Für Linux muß der Code der Geräte-Treiber für jede neue Architektur extra angepasst werden. NetBSD dagegen kann schneller auf neue Hardware-Architekturen portiert werden: So benötigten Entwickler für die Portierung von NetBSD auf den SuperH-Prozessor weniger als sechs Wochen, für Linux waren 12 Wochen nötig. Die Portierung von NetBSD auf die AMD x86-64 Architektur (AMD64) dauerte eine Monat, für Linux dauerte sie 6 Monate.

Um die gute Portierbarkeit von NetBSD zu unterstreichen, und um zu zeigen, wie gut es für Embedded-Anwendungen geeignet ist, wurde 2005 von der Firma Technologic Systems, der NetBSD-Toaster präsentiert und damit ein Projekt Realität, das zuvor jahrelang als Phantasie in der NetBSD-Szene die Runde machte : "NetBSD würde sogar auf einem Toaster laufen".

Das Crosskompilieren von Kernel und Userland für langsame Plattformen kann seit dem Release von NetBSD 1.6 auch vollständig auf schnellere Rechner einer anderen Architektur ausgelagert werden.


Geschichte

NetBSD basiert wie FreeBSD auf 386BSD und 4.4BSD-lite. Das Projekt entstand, weil einige der 386BSD-Entwickler unzufrieden waren mit dem niedrigen Tempo und der Richtung, die die weitere Entwicklung nehmen sollte. Die vier Gründer des NetBSD-Projekts, Chris Demetriou, Theo de Raadt, Adam Glass und Charles Hannum beschlossen einen anderen Wege zu gehen, mit einem offeneren Entwicklungsmodell, und mit der Konzentration auf portablen, sauberen und korrekten Quellcode. Weil dem Internet die wichtigste Rolle bei der gemeinsamen Entwicklung und bei der Verteilung des Projekts zukam, schlug Theo de Raadt den Namen "NetBSD" vor.

Der Quellcode von NetBSD war ab dem 21. März 1993 verfügbar und mit NetBSD 0.8 erschien im April 1993 das erste offizielle Release, NetBSD 0.9 enthielt danach viele Verbesserungen und Korrekturen, beschränkte sich aber noch auf die PC-Plattform. NetBSD 1.0 vom Oktober 1994 war schliesslich das erste Release für unterschiedliche Hardware-Architekturen: neben dem PC, waren nun HP 9000 Series 300, Amiga, 68k Macintosh, Sun-4c series und PC532 als unterstützte Plattformen dazugekommen.

1994 wurde mit Theo de Raadt einer der Gründer aus dem Projekt ausgeschlossen. Er rief daraufhin im Oktober 1995 das OpenBSD-Projekt ins Leben, das auf NetBSD 1.0 basieren sollte.

Die NetBSD 1.x-Versionen erschienen weiterhin in jährlichem Turnus, dazwischen wurden kleinere "patch"-Versionen veröffentlicht . Mit NetBSD 1.3 wurde 1998 auch die NetBSD packages collection "pkgsrc" eingeführt. 1999 erschien NetBSD 1.4 mit fertiger Unterstützung für 16 verschiedene Hardware-Plattformen, Darüber hinausgehende Hardware-Unterstützung war ausserdem schon im Quellcode verfugbar.

Im Dezember 2004 wurde NetBSD 2.0 veröffentlicht und brachte wichtige technische Neuentwicklungen mit sich: Es war die erste Version des Systems mit Mehrprozessor-Unterstützung. Die SMP-Unterstützung für i386, SPARC und PowerPC wurde eingeführt, sowie die Unterstützung von SMP auf den Alpha- und VAX-Plattformen verbessert. Auch die damals neue Portierung auf 64-Bit-AMD Opteron-Systeme unterstützte SMP. Eine weitere wichtige Neuerung von 2.0 war eine native Threads-Implementierung für alle Plattformen.

Außerdem wurde mit diesem Release ein neues Numerierungsschema eingeführt: Hauptreleases werden nun in der ersten Ziffer gezählt, und nicht mehr in der zweiten.

NetBSD-Derivate