FreeBSD Entwicklungsprojekte
Zusätzlich zum normalen Entwicklungspfad von FreeBSD gibt es zahlreiche
Entwicklergruppen, die an innovativen Funktionen arbeiten, um die Bandbreite von
Applikationen unter FreeBSD in neue Richtungen zu erweitern. Folgen Sie den Links weiter
unten, um mehr über diese interessanten Projekte zu erfahren.
Wenn Sie der Meinung sind, dass in dieser Auflistung ein Projekt fehlt, schicken Sie
bitte dessen URL und eine kurze Beschreibung (etwa 3-10 Zeilen) an www@FreeBSD.org.
Einige dieser Projekte veröffentlichen regelmäßig eigene Statusberichte, die auf der
Statusbericht-Übersichtsseite verfolgt werden
können.
Dokumentation
- The FreeBSD Documentation Project: Das FreeBSD
Documentation Project hat die Aufgabe, die Dokumentation für das FreeBSD Project
(beispielsweise Das Handbuch oder die FAQ) zu schreiben und zu warten. Wenn Sie dem
Documentation Project helfen wollen, abonnieren Sie bitte die Mailingliste
freebsd-doc@FreeBSD.org und suchen sich einen Bereich, an dem Sie arbeiten wollen.
- FreeBSD Ressourcen für
Einsteiger: Eine Liste von nützlichen Quellen für Einsteiger in FreeBSD und
UNIX®.
- RELEASE/SNAP-Finder für FreeBSD FTP-Server: Ein
Verzeichnis, das es ermöglicht, einen FTP-Server zu finden, der ein bestimmtes Release
oder einen bestimmten Snapshot von FreeBSD enthält. Diese Datenbank wird täglich um 3 Uhr
Melbourner Zeit (10 Stunden vor UTC) aktualisiert.
- Das FreeBSD Diary:
Eine Sammlung von Anleitungen für UNIX-Einsteiger, deren Ziel es ist,
Schritt-für-Schritt-Leitfäden für die Installation und Konfiguration verschiedener Ports
zur Verfügung zu stellen.
- Das FreeBSD
Entwickler-Handbuch
- Der Artikel Zur FreeBSD
Ports-Sammlung beitragen
Anwendungen
- Java™ unter FreeBSD:
Dieses Projekt bietet Informationen darüber, wo das aktuellste JDK™ für FreeBSD
erhältlich ist, wie es installiert wird, sowie eine Liste von Java™-Programmen, die
für Sie interessant sein könnten.
- GNOME unter FreeBSD:
Informationen, wo das aktuellste GNOME für FreeBSD erhältlich ist, wie es installiert und
benutzt wird, letzte Projekt-Neuigkeiten und Updates, FAQ zu FreeBSD-spezifischen
GNOME-Themen, Anleitungen für die Portierung von Applikationen und vieles mehr.
- KDE unter FreeBSD: Dieses
Projekt bietet Informationen zur aktuellsten KDE-Version für FreeBSD sowie
Dokumentationen und Tutorien zur Installation und zum Einsatz von KDE unter FreeBSD.
Projektneuigkeiten und FreeBSD-spezifische FAQ sind ebenfalls verfügbar.
- Mono unter
FreeBSD: Hier können Sie Information zum Stand von Mono und C# unter FreeBSD
finden.
- OpenOffice.org unter FreeBSD:
Information über verschiedene OpenOffice.org-Portierungen.
- Die FreeBSD Ports-Sammlung: Die FreeBSD
Ports-Sammlung bietet eine einfache Möglichkeit, zahlreiche Programmen mit minimalem
Aufwand zu kompilieren und zu installieren. Eine Liste aktuell verfügbarer Ports ist
vorhanden. Zusätzlich existiert eine Suchfunktion, mit der Sie feststellen können, ob
eine bestimmte Anwendung in der Ports-Sammlung vorhanden ist.
- FreeBSD Ports distfiles
survey: Eine Liste, die die Ports-Sammlung auf nicht vorhandene Distfiles hin
überprüft und eine Zusammenfassung für jeden Port zur Verfügung stellt.
- FreshPorts: Die aktuellste Liste aller Ports und
ihrer Änderungen. Fügen Sie ihre Lieblings-Ports einer Beobachtungsliste hinzu und
erhalten Sie E-Mail-Benachrichtigungen über jede Änderung.
- Pointyhat: Ein Server, der die
Ports-Sammlung überprüft und für jeden Port Protokolle über Fehler und den Bau der Pakete
führt.
Netzwerke
- Netperf:
Netzwerk-Stack-Optimierung für die FreeBSD-Kernel 5.X und 6.X (ein Nachfolgeprojekt für
die SMPng Netzwerk-Stack-Arbeit am Locking für FreeBSD 5.3). Dieses Projekt erforscht und
implementiert Optimierungs-Strategien für einen Netzwerk-Stack mit multiplen
Threads.
- KAME Project: Ein freier
IPv6/IPsec-Stack für BSD.
- SYSLOG-SECURE: Im August 2001 wurde ein
Standard für syslog geschaffen: RFC3164. Dieser RFC beschreibt einige Erweiterungen, die
die Sicherheit von syslog verbessern sollen. Das Projekt wurde 2002 begonnen, um eine
RFC3164-konforme FreeBSD-Version von syslog zu schaffen und einige
Sicherheitserweiterungen hinzuzufügen (zumindest syslog-sign). Sowohl libc als auch
syslogd werden angepasst. Optional werden einige Werkzeuge zur Verwaltung/Überprüfung der
Systemsicherheit geschaffen. Jede Hilfe ist willkommen. Schicken Sie eine E-Mail an
albert@ons-huis.net für weitere Informationen.
Speicherung
- Arla: Eine
freie AFS-Client-Implementierung. Das Hauptziel dieses Projekts ist die Schaffung eines
voll funktionalen Clients mit allen Möglichkeiten des normalen AFS. Andere geplante und
fertiggestellte Dinge sind alle normalen Verwaltungs-Werkzeuge und ein Server.
- Big Disk:
Das Ziel des Large data storage in FreeBSD-Projektes ist es, FreeBSD bereit zu
machen für Dateisysteme und Plattenkapazitäten im Multi-Terabyte-Bereich.
- Coda: Ein verteiltes
Dateisystem. Zu dessen Leistungsmerkmalen gehören getrennter Betrieb, ein gutes
Sicherheitsmodell, Server-Replikation und persistentes Caching auf der Client-Seite.
- Journaling contra Soft Updates:
Asynchroner Meta-Daten-Schutz im Dateisystem.
- TCFS: Ein
transparentes, verschlüsseltes Dateisystem (Transparent Cryptographic File System, tcfs),
welches geeignet ist, das Problem des Datenschutzes für verteilte Dateisysteme zu lösen.
Durch eine engere Integration zwischen Verschlüsselung und Dateisystem erlaubt eine
völlig transparente Nutzung durch die Anwendungen des Benutzers. Dateien werden in
verschlüsselter Form gespeichert und erst vor dem Lesen wieder entschlüsselt . Der
Ver-/Entschlüsselungs-Prozess passiert auf der Client-Maschine, der Schlüssel wandert
daher niemals über das Netzwerk.
- Tertiary
Disk: Eine Speichersystem-Architektur für große Plattenspeicher-Systeme, welche die
Nachteile angepasster Platten-Arrays vermeidet. Der Name stammt von zwei Zielen: Kosten
pro Megabyte und Kapazität von Bandlaufwerken bei gleichzeitiger Leistung von
Festplatten. Wir nutzen Standard-Komponenten aus dem Regal, um ein skalierbares, billiges
Speichersystem im Terabyte-Bereich zu entwickeln. Unser Ziel ist die Schaffung eines
kompletten Speichersystems mit lediglich 30-50% zusätzlichen Kosten zur nackten Hardware.
Tertiary Disk nutzt über ein geswitchtes Netzwerk verbundene PCs, um eine große Anzahl
von Platten aufzunehmen. Unser Prototyp besteht aus 20 200MHz-Rechnern, die insgesamt
370 8GB-Platten aufnehmen. Die PCs sind dabei mit 100 MBit-Switches
verbunden.
- Vinum: Ein Logical
Volume Manager (LVM), entworfen nach dem Vorbild des VERITAS volume manager™.
Trotzdem ist es kein Clone von Veritas und einige Lösungsansätze sind eleganter als bei
Veritas. Zudem bietet es einige Merkmale, die Veritas fehlen.
- Das
PathConvert-Projekt: Ein Projekt zur Entwicklung von Werkzeugen, die eine Umwandlung
von absoluten Pfadangaben in relative Pfad-Angaben ermöglichen. Es bringt Vorteile vor
allem für die Nutzer von NFS und WWW.
Kernel und Sicherheit
- Kernel Scheduler Entities: Ein
Projekt zur Verbesserung der Threading-Unterstützung in FreeBSD; es nutzt ein
Threading-System, das im Design ähnlich den Scheduler Activations ist.
- Lottery Scheduling Kernel: Diese
Arbeit basiert auf dem lottery scheduling algorithm von Waldspurger, welcher
proportionale Verwaltung von Resourcen implementiert. Die Hauptvorteile sind die strikte
Kontrolle der Benutzer über die relativen Ausführungsraten ihrer Prozesse. Die Benutzer
sind isoliert voneinander bezüglich der Systemlast, daher kann kein einzelner Benutzer
die CPU über Gebühr in Anspruch nehmen.
- OpenBSM: Eine freie
Implementierung der Basic Security Module (BSM) Audit API und des Dateiformates von Sun.
OpenBSM stellt die Nutzerland-Bibliotheken, Werkzeuge und Dokumentation für die
TrustedBSD Audit Implementierung zur Verfügung, welche in FreeBSD integriert werden
wird.
- Symmetric MultiProcessor
Support: Dokumentation und Informationen zur Nutzung von Mehrprozessor-Systemen mit
FreeBSD.
- TrustedBSD: Stellt eine Sammlung von zuverlässigen
Betriebssystem-Erweiterungen für FreeBSD zur Verfügung. Dies schließt Leistungsmerkmale
wie feingranulierte Rechteverwaltung, Access Control Lists (ACL) und Mandatory Access
Control (MAC) ein. Diese Merkmale werden sowohl in das FreeBSD-Basissystem integriert als
auch auf andere von BSD abgeleitete Systeme portiert.
- Kernel Stress Test Suite: Der Zweck dieser
Stress-Tests ist es, das System zusammenbrechen zu lassen. Der Test besteht aus vielen
kleinen Testprogrammen und Skripten. Jeder Test zielt auf einen bestimmten Bereich des
Kernels. Das Kernkonzept dieses Tests ist Chaos. Jeder Test wartet eine zufällige Zahl
von Sekunden, bevor er eine zufällige Zahl von Aufrufen startet.
Gerätetreiber
- busdma und
SMPng-Treiberumbau: busdma ist eine portable Abstraktionsschicht für die Direct
Memory Access (DMA)-Hardware-Primitive, welche von vielen Hochleistungs-Gerätetreibern
genutzt werden. Durch Nutzung dieser Abstraktionsschicht vermeiden Autoren von
Gerätetreibern das Hinzufügen von plattformspezifischem DMA-Verwaltungscode und
verbessern die Portierbarkeit von Treibern zwischen verschiedenen Hardware-Architekturen.
Diese Seite dokumentiert auch die Fortschritte bei Treibern hinsichtlich ihrer
SMPng-Konformität.
- Ein neues Geräte-Framework für
FreeBSD
- BSD ATM:
Implementierung von ATM Internetworking in 4.4BSD: Neue Computer-Applikationen in
Bereichen wie Multimedia, Bildbearbeitung und verteiltes Rechnen verlangen hohe
Netzwerkleistungen. ATM-basierte Netzwerklösungen stellen eine Alternative dar, um diesen
Herausforderungen Genüge zu tun. Allerdings hat sich gezeigt, dass die Komplexität von
ATM im Vergleich zu traditionellen Netzwerken wie Ethernet eine Barriere für deren
Einsatz darstellt. In dieser Abhandlung stellen wir die BSD ATM-Implementierung vor,
einem schlanken und effizienten ATM Software-Layer für BSD-basierte Betriebssysteme, der
nur minimale Anpassungen am Betriebssystem selbst erfordert. BSD ATM kann sowohl für
IP-basierten Netzwerk-Verkehr als auch für "nativen" ATM-Datenverkehr benutzt
werden.
- Home Automation:
Nutzung von FreeBSD für Geräte-Controller, Infrarot-Controller, automatisierte
Telefon-Systeme und mehr.
- Das
FreeBSD Token-Ring Project: Informationen, Dateien, Patche und Dokumentation zur
Token Ring-Unterstützung in FreeBSD.
- Xircom CEM Ethernet Driver: Eine Mailingliste
für die Weiterentwicklung des Xircom CEM Ethernet-Treibers von Scott Mitchell. Schicken
Sie subscribe freebsd-xircom an majordomo@lovett.com, um der Mailingliste
beizutreten.
Architektur
- Portierung von FreeBSD
auf IA-64-Systeme: Dieses Projekt ist verantwortlich für die Portierung von FreeBSD
auf die IA-64-Architektur. Richten Sie alle spezifischen Fragen an die Mailingliste
freebsd-ia64@FreeBSD.org.
- Portierung von FreeBSD auf
PowerPC®-Systeme: Enthält Informationen über den FreeBSD PPC-Port, Mailinglisten
und so weiter.
- Portierung von FreeBSD auf
SPARC®-Systeme: Enthält Informationen über den FreeBSD SPARC-Port einschliesslich
einer FAQ, etwas frühen Boot-Code, Informationen über SPARC-Prozessoren und Motherboards
und andere SPARC-Projekte.
- SysVR4-Emulation: Diese Seite
beschreibt den SysVR4-Emulator für FreeBSD. Er ist gegenwärtig in der Lage, eine
weitläufige Anzahl von SysV-Ausführungsdateien (entnommen aus Solaris™/x86 2.5.1
und 2.6-Systemen) laufen zu lassen (oder in manchen Fällen kriechen zu lassen). Wir haben
Grund zur Annahme, dass er auch Binärdateien von SCO UnixWare und
SCO OpenServer ausführen kann.
- Das OSKit:
Das OSKit ist ein Framework und eine Sammlung von 31 Komponenten-Bibliotheken für
Betriebssysteme nebst umfangreicher Dokumentation. Durch modulare Bereitstellung nicht
nur des Löwenanteils der von einem Betriebssystem benötigten Infrastruktur, sondern auch
vieler höherwertiger Komponenten, will das OSKit die Schranke für den Eintritt in
Betriebssystem-F&E senken und deren Kosten verringern. Das OSKit macht es bedeutend
einfacher, ein neues Betriebssystem zu schaffen, ein bestehendes Betriebssystem auf x86
(oder andere vom OSKit unterstützte Architekturen) zu portieren oder ein Betriebssystem
dergestalt zu verbessern, dass mehr Geräte, Dateisystem-Formate oder Netzwerk-Protokolle
unterstützt werden. Das OSKit kann auch sehr gut für die Konstruktion
betriebssystembezogener Programme wie Boot-Loader oder auf einen Mikrokernel aufbauende
Server eingesetzt werden.
Verschiedenes
- FreeSBIE: Eine
Live-CD basierend auf FreeBSD. Sie enthält eine Vielzahl nützlicher Applikationen und
kann sowohl von der CD als auch als Installationsmedium für die Installation von FreeBSD
auf Ihre Festplatte eingesetzt werden.
- NanoBSD: NanoBSD ist ein
Werkzeug zur Erzeugung eines möglichst reduzierten FreeBSD-Systemabbildes, welches auf
eine Compact Flash-Karte (oder jedes andere Speichermedium) passt, damit es für die
Nutzung in speicherarmen Geräten geeignet ist. Die FreeBSD-Dokumentation enthält einen
einführenden Artikel über
NanoBSD, welche nützliche Hinweise enthält, beispielsweise dazu, wie man NanoBSD
erstellt und einsetzt.
- GLOBAL: Ein allgemeines
Quelltext-Tag-System, welches in verschiedenen Umgebungen gleich arbeitet. Zur Zeit
unterstützt es eine Befehlszeile in einer Shell, den Editor nvi, Browser, Emacs, den
Editor elvis. An Programmiersprachen werden C, Yacc und Java unterstützt.
- Enteruser: Ein Ersatz für
adduser.
- ACPI unter FreeBSD: Ein
Projekt, um ACPI unter FreeBSD flüssig arbeiten zu lassen.
- Binary
Updater: FreeBSD Update ist ein System für das automatische Bauen, Verteilen,
Herunterladen und Einspielen von binären Sicherheits-Updates für FreeBSD. Dieses System
erlaubt es, den Sicherheits-Branches von FreeBSD ohne aufwändiges Herunterladen des
Quelltextes und erneute Kompilierung (natürlich mit Ausnahme der Maschine, welche die
Updates selbst baut) zu folgen. Die Updates werden kryptografisch signiert und werden als
binäre Diffs verteilt, was die benötigte Bandbreite dramatisch verringert.
- Das FreeBSD C99 &
POSIX®-Konformitäts-Projekt: Dieses Projekt zielt darauf ab, alle Erfordernisse
der ISO Standards ISO 9899:1999 (C99) und IEEE 1003.1-2001 (POSIX) zu
implementieren.
- CVSweb: Eine WWW-Schnittstelle
für CVS-Repositories, mit dessen Hilfe man eine Dateisystem-Hierarchie in einem
Webbrowser durchsuchen kann, um die Revisions-Historie jeder Datei auf einfache Art und
Weise zu verfolgen.
- Die FreeBSD Laptop
Compatibility List: Eine umfangreiche Datenbank über Laptops und PCMCIA-Karten, die
unter FreeBSD funktionieren. Die Webseite bietet außerdem ausführliche Informationen zu
bekannten Hardware- und Softwareproblemen.
- Die FreeBSD
Tinderbox: Die Tinderbox baut fortwährend aktive Zweige des FreeBSD-Quelltextbaumes,
um Build-Probleme aufzudecken. Falls ein Tinderbox-Build fehlschlägt, wird eine E-Mail an
die entsprechende Mailingliste geschickt, damit der Bau so schnell wie möglich korrigiert
werden kann. Der Quelltext der Tinderbox wird im FreeBSD CVS-Repository im Verzeichnis src/tools/tools/tinderbox
gewartet.
- TET-Integration: Das Test Execution
Toolkit der Open Group ist ein kleines
Open-Source Test Execution Framework, welches verteiltes Testen unterstützt. Dieses
Projekt erforscht die Verwendung von TET und bestehenden TET-basierten standardkonformen
Open-Source Test-Umgebungen (VSX-PCTS, VSC-Lite, VSTH-Lite, VSW5 und andere) unter
FreeBSD.