FreeBSD
| FreeBSD | |
|---|---|
| Bildschirmfoto | |
FreeBSD mit Message of the Day |
|
| Basisdaten | |
| Entwickler | The FreeBSD Project |
| Aktuelle Version | 9.1 (31. Dezember 2012) |
| Abstammung | Früher (bis Version 1.x): UNIX ↳ BSD ↳ 386BSD ↳ FreeBSD Seit Version 2.0: BSD ↳ FreeBSD |
| Kernel | monolithisch |
| Architekturen | x86 und x86-64 vollständig, und diverse andere teilweise[1] |
| Lizenz | BSD-Lizenz |
| Website | www.freebsd.org |
FreeBSD ist ein freies und vollständiges unixoides Betriebssystem, das direkt von der Berkeley Software Distribution abstammt. Mit einer Community aus fast 390 dauerhaft aktiven, offiziellen[2] und tausenden mitwirkenden Entwicklern gehört FreeBSD zu den größten Open-Source-Projekten überhaupt. Obwohl der Fokus der Entwickler auf der Erstellung einer stabilen Software-Plattform für Server und Appliances liegt, wird es auch auf Desktop-Computern verwendet. FreeBSD kommt hauptsächlich bei Internetdienstanbietern wie zum Beispiel Yahoo und Strato, in Internet-Backbone-Systemen wie Hochleistungsroutern und Namensdiensten sowie als Webhosting-Plattform zum Einsatz.[3][4] Dort belegt es regelmäßig die vordersten Plätze in der Liste der zuverlässigsten Systeme.[5]
Mehrere Standards im Bereich der Rechnernetze, wie beispielsweise IPv6, wurden von FreeBSD zuerst umgesetzt und verbreiteten sich von dort aufgrund der liberalen BSD-Lizenz auch auf andere Systeme, unter anderem nach OpenBSD und Linux. Außerdem ist FreeBSD teilweise die Grundlage für Darwin, der Open-Source-Plattform von Apple, auf der Mac OS X basiert.
Inhaltsverzeichnis |
Geschichte [Bearbeiten]
Ursprünglich als inoffizielle Sammlung von Patches zur Fehlerbereinigung von 386BSD gedacht, gründeten Nate Williams, Rod Grimes und Jordan K. Hubbard 1993 ein eigenständiges Projekt, nachdem die Pflege des Patchkit-Mechanismus zu aufwändig wurde.[6] Das ursprünglich als 386BSD-Interim bezeichnete Projekt musste eingestellt werden, nachdem der Autor von 386BSD, Bill Jolitz, seine Mitarbeit an dem Projekt und auch 386BSD selbst aufgab. Als man einen neuen Namen suchte, wurde FreeBSD von Bill Greenman vorgeschlagen, einem Mitarbeiter der Website Walnut Creek CDROM, bei der die Software des Projekts auf Datenträgern und mittels FTP vertrieben wurde.[7]
Genau wie bei dem kurz zuvor von anderen Autoren des Patchkits gegründeten NetBSD entschloss man sich gleich zu Beginn des Projekts im Juli 1993 dazu, die Software zentral mithilfe eines CVS-Archivs zu entwickeln. Man griff dafür bei den ersten Versionen von FreeBSD auf die Quellen von 4.3BSD-Lite (Net/2) zurück und auf 386BSD, welches die Berkeley Software Distribution auf die Intel 80386-Prozessorplattform portierte. Als jedoch die Unix System Laboratories begannen, die Anbieter von BSD-Software aufgrund von Lizenzverletzungen zu verklagen, änderte sich die Basis von FreeBSD auf 4.4BSDLite, welches die UC Berkeley 1994 veröffentlichte, nachdem der Rechtsstreit eingestellt worden war. Diese Version enthielt keinerlei Quellcode aus den Unix Laboratories mehr. Da hierdurch auch Teile des Betriebssystems fehlten, die zum Booten notwendig waren, dauerte es bis zum November 1994 um eine funktionsfähige Softwaredistribution herzustellen, die als FreeBSD 2.0 veröffentlicht werden konnte.[6] Ältere Versionen dürfen aus rechtlichen Gründen nicht mehr vertrieben werden.
Seither wurde das Betriebssystem auf diverse andere Plattformen portiert und hat sowohl an Funktionen als auch an nativ unterstützter Software von Drittanbietern zugenommen.[8][9] Aufgrund seiner Projektgröße und Verbreitung, ohne dabei öffentlich in Erscheinung getreten zu sein, wird FreeBSD auch inoffiziell als unbekannter Riese unter den freien Betriebssystemen bezeichnet.[10] Neben diversen Derivaten haben sich aus dem Projekt heraus mehrere Organisationen gegründet, die sich die Förderung von FreeBSD und der BSD-Familie zum Ziel gesetzt haben. Hierzu gehören z. B. die FreeBSD Foundation[11] und die BSD Certification Group[12].
Eigenschaften [Bearbeiten]
Das vollständige System umfasst folgende Komponenten:
- Kernel: implementiert die APIs und Datenstrukturen des Betriebssystems, sowie die Gerätetreiber
- Userland: alle wichtigen Programme, vom Texteditor bis zum Compiler oder auch Server-Anwendungen (Mailserver etc.)
- Ports: die nach FreeBSD portierten Anwendungen anderer Hersteller
FreeBSD ist als unixartiges System weitgehend POSIX-konform. Es unterstützt alle grundlegenden Funktionen des POSIX.1-Standards, jedoch nicht alle Erweiterungen des X/Open System Interfaces. Aus diesem Grund darf es auch nicht den rechtlich geschützten Namen UNIX tragen. An einer Herstellung der vollständigen Unterstützung der Schnittstellen von C99, POSIX und des XSI wird aber gearbeitet.[13] Neben der x86-, AMD64- und in Japan verbreiteten PC-98-Architektur werden eine Reihe weiterer Prozessortypen unterstützt. Dazu gehören IA-64, Sun SPARC und PowerPC sowie die ARM- und experimentell auch die MIPS-Architekturen für eingebettete Systeme.[1] Da FreeBSD eine eigene Binärschnittstelle (ABI) anbietet, ist die Installation proprietärer Software problemlos möglich. Ebenso können Windows-Netzwerkgerätetreiber über die NDIS-Schnittstelle verwendet werden, deren Hersteller die Hardware-Spezifikationen nicht freigegeben haben, z. B. Intels Centrino.[14]
Software-Verwaltung [Bearbeiten]
Neben den Programmen aus dem Basissystem stehen über 23.000 Softwarepakete von Drittanbietern zur Verfügung. Über diese kann teilweise bereits während der Installation je nach Einsatzzweck eine Vorauswahl getroffen werden. Die meisten Pakete stehen auch als vorkompilierte Binaries zur Verfügung ('package') und können somit direkt vom Installationsmedium oder einem regionalen Projektrepository installiert werden.
Häufiger kommen jedoch die sogenannten Ports als Paketverwaltung zum Einsatz. Neben einer größeren Auswahl liegen die Vorteile der FreeBSD-Ports in der komfortablen Abhängigkeitsauflösung, einer möglichen prozessorspezifische Optimierung und der Nutzung von Compilezeit-Optionen. Die meisten Ports werden als Quellcode geladen, meist aus dem Netz, und dann auf dem eigenen System kompiliert. Hier finden sich die meisten Open-Source-Programme für Server und Desktop sowie einige proprietäre Programme. Die Flexibilität und einfache Bedienung der FreeBSD-Ports haben zu einer Verbreitung dieser Paketverwaltung auch auf anderen Systemen geführt. Neben NetBSD und OpenBSD werden die Ports auch auf Darwin und Mac OS X unter dem Namen MacPorts eingesetzt. Aufgrund der weitgehenden Quellcode-Kompatibilität dieser Systeme sind dafür keine bis kaum Änderungen an den Metadaten der Ports notwendig.
Netzwerk [Bearbeiten]
Aufgrund der Ausrichtung des Projekts liegen die Stärken von FreeBSD im Netzwerkbereich. So waren wegen des KAME-Projekts die BSDs unter den ersten Betriebssystemen mit IPv6- und IPsec-Unterstützung. Es stehen mehrere redundante Paketfilter-Implementierungen zur Verfügung: das auch für proprietäre Unices verfügbare IPFilter, die Eigenentwicklung ipfw und pf aus OpenBSD. Des Weiteren existiert mit dummynet ein leistungsfähiger Trafficshaper.
FreeBSD beherrscht Netzwerkprotokolle auf verschiedenen Ebenen, zum Beispiel 802.1q VLANs, PPP, L2TP. Mit netgraph[15] gibt es außerdem ein graphenbasiertes Kernelsubsystem, welches die modulare Implementierung neuer und flexible Kombination vorhandener Protokolle unterstützt. Ebenso arbeitet FreeBSD mit verschiedener Netzwerkhardware zusammen: 10 Gigabit Ethernet, WLAN, ATM, ISDN, FDDI und UMTS.
Virtualisierung [Bearbeiten]
FreeBSD stellt seit Version 4.x auch die Virtualisierungsumgebung jails (dt. Gefängnis) zur Verfügung.[16] Aus dem Inneren eines Jails ist kein Zugriff auf die System- und Konfigurationsdateien des Hauptsystems möglich – es verwendet seine eigenen Dateien, Prozesse und auch User-Accounts, so dass die Umgebung sich fast nicht von der eines vollwertigen Systems unterscheidet. Gegenüber etwa Chroot bietet dies eine Reihe von Vorteilen, insbesondere im Blick auf Sicherheit, Administration und Performance. Im Vergleich zu Paketen wie Xen oder VMware wiederum ist die Umsetzung sehr viel einfacher und transparenter, bietet aber auch nicht die Möglichkeit, ein fremdes Betriebssystem zu betreiben.[17] In anderen Systemen sind Abwandlungen von FreeBSD-Jails als sysjails bekannt.
FreeBSD unterstützt außerdem die Formate von GNU/Linux dank des Linux emulation layers.[18] Damit kann auch speziell für diese Systeme entwickelte Software in FreeBSD genutzt werden. Für die Linux-Kompatibilität steht darüber hinaus spezielle Software zur Verfügung.
Entwicklung [Bearbeiten]
Der Entwicklungszweige des Quelltextes werden durch zentrale Subversion/CVS-Archive zur Verfügung gestellt. Das System ist daher sehr homogen, da alle Systembestandteile von der gleichen Entwicklergruppe gepflegt werden. Dieses Archiv wird außerdem regional gespiegelt um das Netzwerk des Hauptarchivs zu entlasten. Aus Gründen der Performance und um Inkonsistenzen zu vermeiden, ist das Archiv mit direktem Schreibzugriff getrennt von denen, die gelesen werden können.[3]
Bei FreeBSD spielt die Verfügbarkeit des Quelltexts auch praktisch eine große Rolle: Viele Anwender halten einen lokalen Quelltextbaum vor und synchronisieren ihn regelmäßig per CVSup-System über das Netz mit einem zentralen Quelltextarchiv (Repository). Dadurch ist es möglich, das System genau für seinen Einsatzzweck anzupassen, indem z. B. der Kernel mit systemspezifischen Treibern neu gebaut oder Software des Basissystems bzw. aus den Ports angepasst werden kann. Im Repository kann man in den alten Versionen der Quelltexte und den Anmerkungen der Entwickler recherchieren und somit sehr gut Einsicht in den Aufbau und die Funktionsweise des Systems gewinnen.
Projektorganisation [Bearbeiten]
Die Pflege des Quelltextes wird von drei Gruppen der FreeBSD-Entwicklergemeinde übernommen:
- src: In diesem Teil des Quelltextbaums sind der Kernel und das Userland enthalten. Committer mit Zugriff auf den src-Baum treiben daher auch die Entwicklung des Systems voran.
- ports: Benannt nach der gleichnamigen Paketverwaltung, wird hier die Software von Drittanbietern eingepflegt. Die FreeBSD-Ports sind von Kernel und Userland unabhängig.
- doc: Committer mit Zugriff auf diesen Teil des Quelltextbaums sind verantwortlich für die Pflege des sehr umfangreichen Handbuchs und der Manpages, die mit FreeBSD ausgeliefert werden.
Zusätzlich zu diesen drei Gruppen gibt es noch Teams, die für das Releasemanagement, die Administration der Projektserver, das Einpflegen von Sicherheitsupdates, etc. zuständig sind. Dabei gibt es personelle Überlappungen zwischen all diesen Gruppen.[3]
Die Kommunikation zwischen Entwicklern untereinander und mit Benutzern findet wie bei vielen Opensource-Projekten hauptsächlich über das Internet statt (Mailinglisten, Newsgroups, IRC). Zusätzlich gibt es in verschiedenen Teilen der Welt so genannte BSDcons, bei denen Entwickler und interessierte Benutzer neue Projekte vorstellen und diskutieren.
Koordiniert wird die Entwicklung vom Core Team, das alle zwei Jahre von den aktiven Entwicklern mit CVS-Zugriff gewählt wird.
Entwicklungszweige [Bearbeiten]
Die Entwicklung des FreeBSD-Kernels und -Userlands läuft in mehreren Zweigen parallel ab:
- CURRENT, in dem neue Features entwickelt und getestet werden und nur für Entwickler oder fortgeschrittene Anwender geeignet ist. (CVS-Tag: CURRENT, HEAD oder .)
- STABLE, der als genügend getestete Software aus dem CURRENT-Zweig hervorgegangen ist und von dem etwa alle vier bis sechs Monate neue Versionen veröffentlicht werden.
- RELEASE sind Schnappschüsse des jeweiligen RELEASE-Zweiges, welche wiederum aus einem STABLE-Zweig hervorgehen. Bei Releases werden keine Änderungen mehr vorgenommen, sondern nur noch sicherheitsrelevante Änderungen eingepflegt.
Um z. B. sicherheitsrelevante Änderungen zwischen den einzelnen Zweigen austauschen zu können oder Verbesserungen aus dem Stable-Zweig auch in Current einfließen lassen zu können, wird im Hintergrund auf eine Versionsverwaltung mit Perforce zurückgegriffen, da sich mit CVS keine zweigübergreifenden Änderungen durchführen lassen.[3]
Ein anschauliches Beispiel: RELENG_6_1_0_RELEASE (dies ist das CVS-Tag von FreeBSD RELEASE-6.1) ist ein Schnappschuss aus dem RELEASE-Zweig RELENG_6_1. RELENG_6_1 wurde aus dem STABLE-Zweig RELENG_6 abgezweigt. RELENG_6 wiederum wurde aus dem CURRENT-Zweig MAIN abgezweigt. Der aktuelle Stand des CURRENT-Zweiges MAIN trägt das CVS-Tag HEAD.
Der Wartungszeitraum beträgt je nach Release und Priorität zwischen 6 und 24 Monaten.
Versionstabelle [Bearbeiten]
| Version | Veröffentlichung[8] | Unterstützung bis[19] | wesentliche Änderung | ||
|---|---|---|---|---|---|
| 1.0 | 1. November 1993 | erste Version | |||
| 1.1 | Mai 1994 | Wartungsrelease mit Bugfixes für 386BSD-Import, portierte Programme (XFree86, nntp) hinzugefügt[20] | |||
| 1.1.5 | |||||
| 1.1.5.1 | Juli 1994 | ||||
| 2.0 | 22. November 1994 | Codebasis von 386BSD wurde durch BSD-Lite 4.4 ersetzt, wegen des Vergleichs zwischen USL und BSDi[21], neuer Installer und Bootmanager, Unterstützung anderer Dateisysteme (FAT, unionfs, kernfs), dynamisch ladbare Kernelmodule aus NetBSD importiert[22] | |||
| 2.0.5 | 10. Juni 1995 | vollständige Unterstützung von NIS-Client und Server, T/TCP, ISDN, FDDI und Fast Ethernet-Karten (100Mbit), Übersetzung der Dokumentation in diverse Sprachen, Ports auf dem Installationsmedium enthalten[23] | |||
| 2.1 | 19. November 1995 | ||||
| 2.1.5 | Juli 1996 | ||||
| 2.1.6 | Dezember 1996 | ||||
| 2.1.7 | Februar 1997 | ||||
| 2.2 | März 1997 | NFSv3, Linux-Emulations-Schicht inklusive ELF, Einführung der man section 9 für Kernelfunktionen[24] | |||
| 2.2.1 | April 1997 | ||||
| 2.2.2 | Mai 1997 | ||||
| 2.2.5 | 22. Oktober 1997 | Unterstützung aktueller Cyrix- und AMD-Prozessoren, neue VGA-Bibliothek[25] | |||
| 2.2.6 | 25. März 1998 | Unterstützung für Plug and Play[26] | |||
| 2.2.7 | 22. Juli 1998 | Unterstützung für FAT32, Update zur PC-98-Architektur[27] | |||
| 2.2.8 | 29. November 1998 | Traffic-Shaping mit dummynet, Paketfilterung mit ipfw, Unterstützung von IDE-Laufwerken größer als 8 GiB[28] | |||
| 3.0 | Oktober 1998 | Unterstützung symmetrischer Multiprozessorsysteme (SMP), SCSI und VESA[29] | |||
| 3.1 | 15. Februar 1999 | Einführung von USB und PAM[30] | |||
| 3.2 | 17. Mai 1999 | ||||
| 3.3 | 17. September 1999 | Unterstützung des Advanced Power Management zur Energieverwaltung[31] | |||
| 3.4 | 20. Dezember 1999 | ||||
| 3.5 | 24. Juni 2000 | ||||
| 4.0 | 14. März 2000 | Import von IPv6 und IPsec aus dem KAME project, Integration von OpenSSH in das Basissystem, Emulation für SVR4 Binärdateien, USB-Ethernet, telnet-Verschlüsselung[32] | |||
| 4.1 | 27. Juli 2000 | Erweiterung der Unterstützung von Alpha-Prozessoren[33] | |||
| 4.1.1 | 27. September 2000 | Virtueller Ethernet-Gerätetreiber für Bridge-Konfigurationen, Unterstützung von ATA100-Controllern [34] | |||
| 4.2 | 21. November 2000 | Unterstützung von USB-Scannern, USB-Modems, Umstrukturierung der Ports[35] | |||
| 4.3 | 20. April 2001 | ||||
| 4.4 | 20. September 2001 | Erkennung neuer Prozessoren (Transmeta Crusoe et al.), Unterstützung von Streaming SIMD Extensions (SSE) und SMB-Dateisystemen[36] | |||
| 4.5 | 29. Januar 2002 | 31. Dezember 2002 | TCP hinsichtlich Durchsatz, Performance und Robustheit gegen DoS-Attacken überarbeitet, Unterstützung des Bootloaders für Dateisysteme mit 16K-Blöcken[37] | ||
| 4.6 | 15. Juni 2002 | Mai 2003 | |||
| 4.6.2 | 15. August 2002 | Mai 2003 | |||
| 4.7 | 10. Oktober 2002 | Dezember 2003 | |||
| 4.8 | 3. April 2003 | 31. März 2004 | Unterstützung von Firewire und Hyper-Threading, Framework aus OpenBSD zur Verschlüsselungsunterstützung des Kernels importiert[38] | ||
| 4.9 | 28. Oktober 2003 | 31. Oktober 2004 | Experimentelle Unterstützung von Physical Address Extensions[39] | ||
| 4.10 | 27. Mai 2004 | Mai 2006 | Unterstützung von USB 2.0 [40] | ||
| 4.11 | 25. Januar 2005 | 31. Januar 2007 | |||
| 5.0 | 14. Januar 2003 | 30. Juni 2003 | Unterstützung von UltraSPARC- und IA-64-Prozessoren, SMP-Unterstützung durch Umwandlung des Giant lock in kleinere Locks, GEOM, Mandatory Access Control aus TrustedBSD importiert, fsck im Hintergrund, Bluetooth, ACPI, CardBus, devfs, UFS2, Universal Disk Format, Treiber für die Direct Rendering Infrastructure (DRI), Pluggable Authentication Modules, Unterstützung für 80386-Prozessoren, kernfs und UUCP entfernt, Perl aus dem Basissysem in die Ports verschoben, das rc.d Framework aus NetBSD importiert[41] | ||
| 5.1 | 9. Juni 2003 | Februar 2004 | Experimentelle Unterstützung von AMD64-Prozessoren, 1:1- und M:N-Thread-Bibliotheken für Multithreading, Name Service Switch und des ULE-Schedulers, Unterstützung von Physical Address Extensions, zwingende Verwendung von GEOM und devfs, IPv6 Unterstützung des Linux-Emulators, Beginn der Dokumentationsübersetzung ins Dänische[42] | ||
| 5.2 | 9. Januar 2004 | 31. Dezember 2004 | AMD64 als Tier1-Architektur unterstützt, Protocol Independent Multicast, ATA-Treiber aus dem Giant lock entfernt, Unterstützung des NFSv4-Client, Start der Dokumentationsübersetzung ins Türkische,[43] Einführung von Cardbus- und 802.11a/b/g-Treibern, experimentelle Unterstützung für die Filterung und Forwarding von IP-Daten in mehreren Threads[44] | ||
| 5.2.1 | 25. Februar 2004 | 31. Dezember 2004 | |||
| 5.3 | 6. November 2004 | 31. Oktober 2006 | ALTernate Queueing, eintrittsinvariante Netzwerk- und Socketsubsysteme in mehreren Threads, Einführung des Kernel debugger frameworks (KDB), dynamische und statische Linkerunterstützung für Thread-local Storage, Import der pf-Firewall aus OpenBSD, native Ausführungsunterstützung von NDIS-Treibern, Ersetzung von XFree86 durch X.org, Kryptographie-Unterstützung durch Basissystem[45] | ||
| 5.4 | 9. Mai 2005 | 31. Oktober 2006 | Import des Common Address Redundancy Protocol aus OpenBSD[46] | ||
| 5.5 | 25. Mai 2006 | 31. Mai 2008 | Beide Kerne von Dual-Core-Prozessoren sind per Voreinstellung durch SMP-Kernel nutzbar[47] | ||
| 6.0 | 4. November 2005 | 31. Januar 2007 | Experimentelle Unterstützung für PowerPC, WPA, Treiber weiterer Wireless-Karten hinzugefügt, vollständige Unterstützung von 802.11g, 802.11i, 802.1x und WME/WMM, Verbesserung von Zugriffen auf Dateisysteme und direkt auf Datenträger, SMP-fähige Schicht des virtuellen Dateisystems VFS, Import der Bridge-Implementierung mit Unterstützung des 802.1D Spanning Tree Protocol aus NetBSD[48] | ||
| 6.1 | 8. Mai 2006 | 31. Mai 2008 | Tastatur-Multiplexer, automatische Konfiguration vieler Bluetooth-Geräte, Treiber für Ethernet, SAS und SATA-RAID-Controller[49] | ||
| 6.2 | 15. Januar 2007 | 31. Mai 2008 | Unterstützung der Xbox-Architektur, OpenBSM, ipfw-Tags für Pakete, Einführung von freebsd-update für binäre Sicherheitsupdates und Patches und OpenIPMI als Intelligent Platform Management Interface[50] | ||
| 6.3 | 18. Januar 2008 | 31. Januar 2010 | Reimplementierung von UnionFS, Hinzufügen eines Upgrade-Schalters zu freebsd-update[51] | ||
| 6.4 | 28. November 2008 | 30. November 2010 | Unterstützung des Camellia-Algorithmus zur Verschlüsselung, Ermöglichen des Bootens von USB-Datenträgern und Geräten mit GPT-BIOS, buffer corruption protection bei der Speicherallokierung[52] | ||
| 7.0 | 27. Februar 2008 | 30. April 2009 | Unterstützung von ZFS, XFS und GPT, Referenzimplemenation von SCTP, Unterstützung für die ARM-Architektur und das High Definition Audio Interface (HDA) von Intel hinzugefügt, jhkmalloc durch jemalloc,[53] Unterstützung für DEC Alpha eingestellt[54] | ||
| 7.1 | 4. Januar 2009 | 28. Februar 2011 | DTrace von OpenSolaris übernommen, ULE-Scheduler wird voreingestellter Scheduler für i386- und AMD64-Platformen[55] | ||
| 7.2 | 4. Mai 2009 | 30. Juni 2010 | Unterstützung der UltraSPARC-III-Prozessoren, transparente Verwendung von Superpages im Virtual-Memory-Subsystem, Verbesserungen an den FreeBSD jails[56] | ||
| 7.3 | 23. März 2010 | 31. März 2012 | Neuer Bootloader gptzfsboot mit Unterstützung für GPT und ZFS, Unterstützung für VIA-Nano-Prozessoren[57] | ||
| 7.4 | 24. Februar 2011 | 28. Februar 2013 | Unterstützung für UltraSPARC-IV, -IV+ und SPARC64-V-Prozessoren hinzugefügt, IEEE 802.3 Vollduplex[58] | ||
| 8.0 | 25. November 2009 | 30. November 2010 | Neuer USB-Stack, Unterstützung für IEEE 802.11s, Verwendung von Superpages, Erhöhung der Anzahl maximaler Slices und Unterstützung von NFSv4[59] | ||
| 8.1 | 23. Juli 2010 | 31. Juli 2012 | Hochverfügbarkeitsspeicher, SMP für PowerPC G5-Systeme, threadsicheres MS-DOS-Dateisystem, zfsloader, NFSv4-ACL für UFS und ZFS[60] | ||
| 8.2 | 24. Februar 2011 | 31. Juli 2012 | Import von V4L in den Linux-Emulator, Unterstützung von USB 3.0 und des Extensible Host Controller Interface[61] | ||
| 8.3 | 18. April 2012 | 30. April 2014 | Unterstützung der TRIM-Funktion für SSDs, GNOME Version 2.32.1, KDE Version 4.7.4[62] | ||
| 9.0 | 12. Januar 2012 | 31. März 2013 | Userland DTrace, UFS SoftUpdates+Journal, SMP-Support für mehr als 32 Prozessoren, Einführung der Non-Uniform Memory Architecture[63] | ||
| 9.1 | 31. Dezember 2012 | 31. Dezember 2014 | Neuer Intel-Grafiktreiber mit GEM/KMS-Unterstützung[64] | ||
| 10.0 | Umstellung auf Clang/LLVM als Standardcompiler[65]; Linux inotify-Emulation[66] | ||||
|
Legende:
Ältere Version; nicht mehr unterstützt
Ältere Version; noch unterstützt
Aktuelle Version
Zukünftige Version
|
|||||
Logo [Bearbeiten]
Der BSD-Daemon ist das „Maskottchen“ von BSD-Unix und wurde von Beginn an als Logo verwendet. Er wird oft Beastie genannt, obwohl ihn der Träger des Copyrights für namenlos erklärt.
Das Zeichen erwies sich jedoch teils schwer reproduzier- und skalierbar, daher riefen im Februar 2005 die Entwickler des FreeBSD-Projektes auf, ein Logo für FreeBSD zu entwerfen. Ende Juni 2005 wurden die Vorschläge verschiedener Grafiker eingereicht und Ende September 2005 wurde das neue Logo ausgewählt. Zum Schluss standen sieben Einsendungen in der engeren Wahl – gewonnen hat das Design von Anton K. Gural, wie oben rechts in diesem Artikel verwendet.
Es gab darauf – wie bei NetBSD – verschiedene Erwägungen, das traditionelle Maskottchen nicht weiter als Logo zu verwenden. Im Ergebnis bleibt der Dämon Beastie nun doch das Maskottchen des Projektes. Das neue Logo ist eine Anspielung auf den Kopf des Dämons mit seinen Hörnern.
FreeBSD-Derivate und Distributionen [Bearbeiten]
Man unterscheidet grob zwischen Distributionen und Derivaten: Bei Distributionen handelt es sich um andere Zusammenstellungen von Software, während es sich bei Derivaten um Veränderungen und Abspaltungen (auch Forks) des Systems handelt. Da die Erstellung von BSD-Distributionen im Vergleich zu anderen Systemen, wie GNU/Linux, noch eine relativ neue Entwicklung ist, und Änderungen meist tiefgreifender als bei Linuxdistributionen sind, werden in der BSD-Welt häufig auch Distributionen als Derivate bezeichnet. In der FreeBSD-Community werden Forks häufig negativ bewertet.
FreeBSD-Derivate [Bearbeiten]
- Darwin – Mach-Kernel und FreeBSD-Userland, Basis für Mac OS X
- Data ONTAP, das Betriebssystem von NetApp-Speichersystemen[67]
- DragonFly BSD
- JunOS, das Betriebssystem der Router von Juniper Networks
FreeBSD-Distributionen [Bearbeiten]
- Debian GNU/kFreeBSD – Eine Portierung des Debian-GNU-Systems auf den FreeBSD-Kernel
- DesktopBSD – ein Desktop-FreeBSD
- FreeNAS – für Network Attached Storage (NAS) konzipiert
- NAS4Free - für Network Attached Storage (NAS) konzipiert
- FreeSBIE – eine Live-CD-Version von FreeBSD
- Gentoo/FreeBSD, ein FreeBSD, das u. a. das Paketverwaltungssystem Portage von Gentoo übernimmt
- GhostBSD – ein Desktop-FreeBSD mit Gnome
- m0n0wall – eine Firewall-Distribution
- PC-BSD – ein Desktop-FreeBSD
- pfSense – eine Firewall/Router-Distribution
- PicoBSD – eine Disketten-Version von FreeBSD
- TrustedBSD (keine eigenständige Betriebssystemdistribution, sondern eine Erweiterung mit dem Hauptgewicht auf Sicherheitseigenschaften)
Hardwareanforderungen [Bearbeiten]
Die Hardwareanforderungen hängen vom Einsatzgebiet ab. Ein Embedded System beispielsweise hat andere Anforderungen als ein Webserver oder ein Desktop.
Abgesehen von den anwendungsspezifischen Anforderungen existieren für die verschiedenen Architekturen grundlegende Anforderungen, die gegeben sein müssen, um ein lauffähiges System zu erhalten. Für eine minimale Installation auf i386 sind dies zum Beispiel 24 MB RAM und 150 MB Festplattenspeicher.[68] Eine realistischere Installation (zum Beispiel als Intranetserver mit Dateiserverfunktion auf i386) benötigt etwa 2 bis 3 GB Festplattenspeicher (alleine für den Portstree etwa 1 GB), für den laufenden Betrieb allerdings immer noch weit weniger als 100 MB RAM.
Siehe auch [Bearbeiten]
Literatur [Bearbeiten]
- Marshall Kirk McKusick und George V. Neville-Neil: The Design and Implementation of the FreeBSD Operating System. Addison-Wesley, 2004, ISBN 0-201-70245-2 (Beschreibung des Betriebssystems auf akademischen Niveau)
- Greg Lehey: The Complete FreeBSD. 4th Edition, O'Reilly, 2003, ISBN 0-596-00516-4 (Installation, Konfiguration und Gebrauch des FreeBSD-Systems)
- Harald Zisler: FreeBSD. Franzis, Poing 2006, ISBN 3-7723-6538-8
- Michael Lucas: Absolute FreeBSD: The Ultimate Guide to FreeBSD. 2nd Edition, No Starch Press, San Francisco 2007, ISBN 1-593-27151-4
- Michael Urban, Brian Tiemann: FreeBSD 6 Unleashed. Sams, Juli 2006, ISBN 0672328755
- Michael Lucas: FreeBSD de Luxe. Unix-Serveradministration. Mitp-Verlag, Bonn 2003, ISBN 3-8266-1343-0
- Benedikt Nießen: Der eigene Server mit FreeBSD 9. dpunkt.verlag, Heidelberg, Juni 2012, ISBN 978-3898648141
Weblinks [Bearbeiten]
- FreeBSD-Homepage
- FreeBSD-Handbuch
- FreeBSD – Das freie Betriebssystem für stabile Internet-Server – Chaosradio Express Sendung 048
- Links zum Thema FreeBSD im Open Directory Project
- Informativer Artikel inkl. Geschichte auf heise.de
Einzelnachweise [Bearbeiten]
- ↑ a b von FreeBSD unterstützte Plattformen und deren Status
- ↑ http://www.freebsd.org/doc/en/articles/contributors/staff-committers.html
- ↑ a b c d How the FreeBSD Project works, Vortrag von Robert N. M. Watson bei Google TechTalks 2007 (englisch)
- ↑ netcraft.com: Nearly 2.5 Million Active Sites running FreeBSD, Umfrage von 2004 (englisch)
- ↑ netcraft.com: Most Reliable Hosting Company Sites in May 2009 and June 2011 (englisch)
- ↑ a b freebsd.org: About the FreeBSD Project (englisch)
- ↑ bsdwiki.de: Geschichte von BSD, Eintrag von Axel S. Gruner
- ↑ a b FreeBSD Release Information, Übersicht aller Releases inklusive unterstützter Hardwareplattformen (englisch)
- ↑ ibm.com: Why FreeBSD (englisch)
- ↑ heise.de: FreeBSD der unbekannte Riese
- ↑ http://www.freebsdfoundation.org/
- ↑ http://www.bsdcertification.org/
- ↑ Statusseite des Projekts zur Herstellung der API für C99 und IEEE 1003.1-2001 (POSIX) inklusive der XSI Extensions.
- ↑ freebsd.org: Network Setup, Using Windows NDIS Drivers (englisch)
- ↑ Netgraph Manpage
- ↑ freebsd.org: FreeBSD jails introduction (englisch)
- ↑ grunix.de: Jails unter FreeBSD
- ↑ freebsd.org: Linux emulation layer (englisch)
- ↑ http://www.freebsd.org/security/security.html
- ↑ RELEASE NOTES - FreeBSD - Release 1.1. The FreeBSD Project. Abgerufen am 30. April 2011.
- ↑ bell-labs.com: USL vs. BSDI documents (englisch)
- ↑ FreeBSD 2.0 Release Notes. The FreeBSD Project. Abgerufen am 29. April 2011.
- ↑ FreeBSD 2.0.5 Release Notes. The FreeBSD Project. Abgerufen am 29. April 2011.
- ↑ FreeBSD 2.2 Release Notes. The FreeBSD Project. Abgerufen am 27. April 2011.
- ↑ FreeBSD 2.2.5 Release Notes. The FreeBSD Project. Abgerufen am 27. April 2011.
- ↑ FreeBSD 2.2.6 Release Notes. The FreeBSD Project. Abgerufen am 27. April 2011.
- ↑ FreeBSD 2.2.7 Release Notes. The FreeBSD Project. Abgerufen am 27. April 2011.
- ↑ FreeBSD 2.2.8 Release Notes. The FreeBSD Project. Abgerufen am 27. April 2011.
- ↑ FreeBSD 3.0 Release Notes. The FreeBSD Project. Abgerufen am 27. April 2011.
- ↑ FreeBSD 3.1 Release Notes. The FreeBSD Project. Abgerufen am 28. April 2011.
- ↑ FreeBSD 3.3 Release Notes. The FreeBSD Project. Abgerufen am 28. April 2011.
- ↑ FreeBSD 4.0 Release Notes. The FreeBSD Project. Abgerufen am 28. April 2011.
- ↑ FreeBSD 4.1 Release Notes. The FreeBSD Project. Abgerufen am 28. April 2011.
- ↑ FreeBSD 4.1.1 Release Notes. The FreeBSD Project. Abgerufen am 28. April 2011.
- ↑ FreeBSD 4.2 Release Notes. The FreeBSD Project. Abgerufen am 28. April 2011.
- ↑ FreeBSD/i386 4.4-RELEASE Release Notes. The FreeBSD Project. Abgerufen am 29. April 2011.
- ↑ FreeBSD/i386 4.5-RELEASE Release Notes. The FreeBSD Project. Abgerufen am 29. April 2011.
- ↑ FreeBSD/i386 4.8-RELEASE Release Notes. The FreeBSD Project. Abgerufen am 29. April 2011.
- ↑ FreeBSD/i386 4.9-RELEASE Release Notes. The FreeBSD Project. Abgerufen am 29. April 2011.
- ↑ FreeBSD/i386 4.10-RELEASE Release Notes. The FreeBSD Project. Abgerufen am 29. April 2011.
- ↑ FreeBSD/i386 5.0-RELEASE Release Notes. The FreeBSD Project. 14. Januar 2003. Abgerufen am 29. April 2011.
- ↑ FreeBSD/i386 5.1-RELEASE Release Notes. The FreeBSD Project. 28. Mai 2003. Abgerufen am 29. April 2011.
- ↑ FreeBSD/amd64 5.2-RELEASE Release Notes. The FreeBSD Project. 1. Januar 2004. Abgerufen am 29. April 2011.
- ↑ FreeBSD 5.2-RELEASE Announcement. The FreeBSD Project. 1. Januar 2004. Abgerufen am 29. April 2011.
- ↑ FreeBSD/amd64 5.3-RELEASE Release Notes. The FreeBSD Project. 11. März 2004. Abgerufen am 29. April 2011.
- ↑ FreeBSD/amd64 5.4-RELEASE Release Notes. The FreeBSD Project. 5. Mai 2005. Abgerufen am 29. April 2011.
- ↑ FreeBSD/amd64 5.5-RELEASE Release Notes. The FreeBSD Project. 22. Mai 2006. Abgerufen am 29. April 2011.
- ↑ FreeBSD/amd64 6.0-RELEASE Release Notes. The FreeBSD Project. 21. Oktober 2005. Abgerufen am 29. April 2011.
- ↑ FreeBSD/amd64 6.1-RELEASE Release Notes. The FreeBSD Project. 5. Mai 2006. Abgerufen am 29. April 2011.
- ↑ FreeBSD/amd64 6.2-RELEASE Release Notes. The FreeBSD Project. 11. Januar 2007. Abgerufen am 29. April 2011.
- ↑ FreeBSD/amd64 6.3-RELEASE Release Notes. The FreeBSD Project. 15. Januar 2008. Abgerufen am 29. April 2011.
- ↑ FreeBSD/amd64 6.4-RELEASE Release Notes. The FreeBSD Project. 25. November 2008. Abgerufen am 29. April 2011.
- ↑ Ivan Voras: What's cooking for FreeBSD 7?. Abgerufen am 27. April 2011.
- ↑ FreeBSD 7.0-RELEASE Release Notes. The FreeBSD Project. 16. Februar 2008. Abgerufen am 27. April 2011.
- ↑ FreeBSD 7.1-RELEASE Release Notes. The FreeBSD Project. 31. Dezember 2008. Abgerufen am 27. April 2011.
- ↑ FreeBSD 7.2-RELEASE Release Notes: Release Highlights. The FreeBSD Project. 30. April 2009. Abgerufen am 29. April 2011.
- ↑ FreeBSD 7.3-RELEASE Release Notes: Release Highlights. The FreeBSD Project. 30. März 2010. Abgerufen am 29. April 2011.
- ↑ FreeBSD 7.4-RELEASE Release Notes. The FreeBSD Project. 24. Februar 2011. Abgerufen am 27. April 2011.
- ↑ Ivan Voras: What's cooking for FreeBSD 8?. Abgerufen am 27. April 2011.
- ↑ FreeBSD 8.1-RELEASE Release Notes. The FreeBSD Project. 24. Februar 2011. Abgerufen am 24. Juli 2017.
- ↑ FreeBSD 8.2-RELEASE Release Notes. The FreeBSD Project. 24. Februar 2011. Abgerufen am 27. April 2011.
- ↑ FreeBSD 8.3-RELEASE Release Notes. The FreeBSD Project. 9. April 2012. Abgerufen am 18. April 2011.
- ↑ FreeBSD 9.0-RELEASE Release Notes. The FreeBSD Project. 12. Januar 2012. Abgerufen am 12. Januar 2012.
- ↑ FreeBSD 9.1-RELEASE Release Notes. The FreeBSD Project. 31. Dezember 2012. Abgerufen am 31. Dezember 2012.
- ↑ FreeBSD 10.0 nutzt Clang als Standardcompiler, The H online
- ↑ FreeBSD 10.0 - FreeBSD wiki
- ↑ NetApp Data ONTAP mit FreeBSD-Basis: http://www.netapp.com/de/company/leadership/advanced-technology/atg-open-source-de.html
- ↑ http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/install-hardware.html offizielle Web-Seite