- Glibc
-
glibc Basisdaten Entwickler: Free Software Foundation Aktuelle Version: 2.9
(17. November 2008)Betriebssystem: UNIX, GNU/Linux Kategorie: Standard C Library Lizenz: LGPL Deutschsprachig: ja gnu.org/software/libc/ glibc, die GNU C-Bibliothek, ist eine freie Implementierung der Standard C Library, die vom GNU-Projekt zusammen mit der GNU Compiler Collection entwickelt wird.
Die glibc steht unter der LGPL, was den Einsatz der Bibliothek bei nicht freier Software ermöglicht.
Zusätzlich zu den von den C-Standards geforderten Funktionen bietet sie auch eine Reihe von (nicht standardisierten) Erweiterungen und Performance-Verbesserungen.
Eines der Designziele der glibc ist Portabilität, daher ist sie auch für eine Reihe von Betriebssystemen verfügbar. Einige Betriebssysteme, darunter GNU/Linux, benutzen die glibc als ihre offizielle Standard-C-Bibliothek. Die Bibliotheken der glibc sind selbst zum größten Teil auch in C geschrieben, performance-kritische Routinen verwenden jedoch Assembler-Code.
glibc 2.3
Mit der glibc 2.3 wurde eine Reihe von Verbesserungen integriert, die wichtigste davon ist die Ersetzung der alten Linux-Threading-Erweiterung linuxthreads durch die Native POSIX Thread Library (NPTL), die ebenso wie die glibc selbst federführend bei Red Hat entwickelt wurde. Die NPTL ermöglicht in Zusammenarbeit mit dem neuen Linux-Kernel 2.6 eine deutliche Leistungssteigerung beim Threading und ist dabei POSIX-konform. Da man abwärtskompatibel sein wollte, steht für Programme, die auf nicht POSIX-konforme Verhaltensweisen der alten Implementation angewiesen sind, auch weiter linuxthreads zur Verfügung, man muss es nun aber explizit per Linker-Direktive anfordern (z. B.
LD_ASSUME_KERNEL=2.4.22
). Auch die glibc selbst ist in den wichtigsten Funktionen abwärtskompatibel. Der kleinste gemeinsame Nenner ist dabei die Funktionalität der libc6, weshalb die Bezeichnungen glibc und libc6 auch häufig synonym füreinander verwendet werden (auf Alpha- und IA-64-Architekturen heißen die Bibliotheken aus historischen Gründen libc6.1, bieten jedoch die gleiche Funktionalität).Ihre Universalität ist gleichzeitig aber auch der größte Kritikpunkt an der glibc. Durch die Menge des einzubindenden Codes werden gegen die glibc gelinkte Programme unnötig groß und damit potenziell langsam. Eine Reihe von Projekten hat sich daher der Idee verschrieben, schlanke Alternativen zu glibc zu entwickeln, die bekanntesten sind uClibc und dietlibc. Durch Beschränkung auf die wirklich wesentlichen Dinge erreichen diese Implementierungen eine weitaus geringere Binary-Größe, allerdings lässt sich nicht jedes glibc-Programm auch gegen diese alternativen Bibliotheken linken, oder es verhält sich nachher unerwartet. Vor allem für eingebettete Systeme sind die schlanken libc-Implementierungen jedoch sehr sinnvoll.
Hosting
Seit einiger Zeit wird das CVS-Repository der glibc auf http://sources.redhat.com/ gehosted, und fast ausschließlich von Ulrich Drepper gepflegt. Zusätzlich werden aktuelle Snapshots in den FTP-Archiven ftp://sources.redhat.com/pub/glibc/snapshots/ und ftp://ftp.gnu.org/gnu/glibc/ und deren Mirrors bereitgestellt. Damit kommt man der Community entgegen, da man z.B. durch restriktive Firewalls nicht von überall aus per CVS auf das Internet zugreifen kann.
Weblinks
- Offizielle Seite des GNU-Projekts zur glibc
Wikimedia Foundation.