DragonFly BSD
| DragonFly BSD | |
|---|---|
| Basisdaten | |
| Entwickler | Matt Dillon u.v.m. |
| Aktuelle Version | 3.4.1 (29. April 2013) |
| Abstammung | BSD ↳ FreeBSD ↳ DragonFly BSD |
| Kernel | Hybridkernel |
| Architekturen | x86, x86-64 |
| Lizenz | BSD-Lizenz |
| Website | www.dragonflybsd.org |
DragonFly BSD ist ein freies Unix-Derivat. Das Betriebssystem basiert auf den Quelltexten von FreeBSD-STABLE 4.8 vom 16. Juni 2003 und gehört somit zu der Familie der BSD-Betriebssysteme. Es läuft auf PCs mit I386-basiertem Prozessor sowie auf der x86-64-Architektur.
Initiiert wurde das Projekt vom ehemaligen FreeBSD-Entwickler Matt Dillon, der mit den Designentscheidungen für die Architektur des FreeBSD-5.x-Kernels, insbesondere bezüglich Kernel-Threading und SMP, nicht zufrieden war und sich deshalb mit den anderen FreeBSD-Entwicklern überworfen hatte. Das Projekt sieht sich als Fortsetzung des FreeBSD-STABLE-Zweigs. Matt Dillon, der Vollzeit am Projekt entwickelt, wird mittlerweile von einem guten Dutzend weiterer Entwickler unterstützt.
Da DragonFly BSD zu Beginn keine Benutzerbasis hatte, musste die Codebasis nicht abwärtskompatibel sein, so dass eine Reihe von APIs modernisiert und einige experimentelle Änderungen vorgenommen werden konnten.
Ein weiteres Merkmal der Entwicklung von DragonFly BSD ist, dass neue Sicherheitskonzepte und Innovationen auf diesem Gebiet, beispielsweise eine – verglichen mit klassischen Ansätzen als sicherer geltende – malloc-Implementierung des OpenBSD-Projektes sehr schnell in den Entwicklungszweig aufgenommen werden.
Inhaltsverzeichnis |
Ziele [Bearbeiten]
Ziele von DragonFly BSD, die teilweise bereits implementiert wurden, sind
- ein neues Kernelthreading-Modell namens light weight kernel threading (LWKT)
- eine Messaging-API (ähnlich dem AmigaOS)
- verschiedene Erweiterungen des VM-Subsystems (virtuelle Speicherverwaltung)
- ein neues I/O-Device-Modell
- größere Änderungen am VFS-Subsystem
- ein neuer Slab allocator (Verwaltung des Kernel-Arbeitsspeichers)
- Übernahme von OpenBSDs Paketfilter pf
- ein Buildsystem basierend auf GCC 4.x, einschließlich der Erweiterung Stack Smashing Protector zur Vermeidung von Pufferüberläufen
- virtuelle Kernel (vKernel, seit Release 1.8), die im Userland laufen (ähnlich wie User Mode Linux oder Linux KVM)
- NATA, ein neuer Treiber für ATA-Festplatten mit S-ATA- und SMP-Unterstützung
Außerdem ist geplant, einige Entwicklungen von FreeBSD 5.x/6.x zu portieren, unter anderem:
Mit Version 2.0 wurde HAMMER als 64-Bit-Cluster-Dateisystem in DragonFly BSD vorgestellt. HAMMER unterstützt unter anderem unbegrenzt viele dynamische Snapshots einzelner Dateisysteme, Spiegelung, Partitionsgrößen von bis zu 1 Exbibyte und so genannte Slave-Dateisysteme (PFS). Die Verzeichnisstruktur wird mittels B-Trees gebildet.
Nach der Umstellung der Quelltexte auf durchgehende SMP-Unterstützung (MP-safe) in den einzelnen Kernel-Subsystemen wollen sich die Entwickler auf die zweite große Zielsetzung konzentrieren: Implementierung von Clustering. Dafür sind große Mengen an Änderungen notwendig, da viele Annahmen aus dem Ein-Prozessor-Bereich nicht mehr zutreffen und der verteilte Aspekt neue Algorithmen erforderlich macht.
Als Softwarepaketmanager wird das von NetBSD stammende pkgsrc verwendet. Der Release-Zyklus beträgt sechs Monate.
Versionen [Bearbeiten]
Siehe auch [Bearbeiten]
Weblinks [Bearbeiten]
- Offizielle Website (englisch)
- Offizielles Handbuch (englisch)
- Erste DragonFlyBSD-Ankündigung auf der FreeBSD-CURRENT-Mailingliste
- DragonFly BSD Digest (englisch)
- Manual-Seiten als PDF
- Interview mit Matthew Dillon zur Release 1.6 – geht auch auf Prioritäten, AMD64, Clustering und ZFS ein
- Interview mit Matthew Dillon zur Release 1.8 – u. a. wird das neue vkernel-Konzept für Clustering besprochen
- DragonFLY BSD 3.0 veröffentlicht (ADMIN-Magazin)
| Datum | Ereignis |
|---|---|
| 16. Juni 2003 | Fork von FreeBSD-STABLE 4.8 |
| 12. Juli 2004 | Version 1.0 |
| 8. April 2005 | Version 1.2 |
| 7. Januar 2006 | Version 1.4 |
| 24. Juli 2006 | Version 1.6 |
| 30. Januar 2007 | Version 1.8 |
| 27. März 2007 | Version 1.8.1 |
| 6. August 2007 | Version 1.10.0 |
| 21. August 2007 | Version 1.10.1 |
| 26. Februar 2008 | Version 1.12.0 |
| 8. März 2008 | Version 1.12.1 |
| 20. April 2008 | Version 1.12.2 |
| 21. Juli 2008 | Version 2.0 |
| 27. September 2008 | Version 2.0.1 |
| 17. Februar 2009 | Version 2.2 |
| 27. April 2009 | Version 2.2.1 |
| 16. September 2009 | Version 2.4 |
| 1. Oktober 2009 | Version 2.4.1 |
| 6. April 2010 | Version 2.6.1 |
| 22. April 2010 | Version 2.6.2 |
| 7. Mai 2010 | Version 2.6.3 |
| 30. Oktober 2010 | Version 2.8.2 |
| 26. April 2011 | Version 2.10.1 |
| 22. Februar 2012 | Version 3.0 |
| 22. Februar 2012 | Version 3.0.1 |
| 26. März 2012 | Version 3.0.2 |
| 29. August 2012 | Version 3.0.3 |
| 3. November 2012 | Version 3.2.1 |
| 16. Dezember 2012 | Version 3.2.2 |
| 29. April 2013 | Version 3.4.1 |