www.wikidata.de-de.nina.az
Bionic ist eine Programmbibliothek des Android Betriebssystems die den Funktionsumfang der C Standard Bibliothek der Bibliothek fur mathematische Funktionen libm der Bibliothek zum dynamischen Linken libdl und weiteren Funktionsumfang bereitstellt Bionic unterliegt der BSD Lizenz und wird von der Open Handset Alliance weiterentwickelt BionicBasisdatenEntwickler Open Handset AllianceErscheinungsjahr 2008Aktuelle Version 1 0 14 1 12 Juli 2019 Betriebssystem AndroidProgrammiersprache C C AssemblerspracheKategorie StandardbibliothekLizenz BSD Lizenzandroid googlesource com platform bionic Der Name Bionic ist eine Anspielung auf den heterogenen Ursprung des genutzten Quellcodes 2 Inhaltsverzeichnis 1 Entwicklungsziele 2 Unterschiede zu POSIX 3 Unterstutzte Plattformen 4 Bestandteile 5 Weblinks 6 EinzelnachweiseEntwicklungsziele BearbeitenMit Bionic sollte eine einfache effiziente BSD lizenzierte C Bibliothek fur das Android System erstellt werden Das Entwicklungs Motto lautete keep it really simple 2 Android Systeme sind haufig batteriebetrieben verfugten uber wenig Haupt und Massenspeicher und nutzten niedrig getaktete Prozessoren Durch die BSD Lizenzierung entfallen Copyleft Restriktionen dadurch vereinfacht sich die Entwicklung proprietarer Bestandteile des Android Systems Populare haufig genutzte Erweiterungen der GNU C Bibliothek sowie der BSD C Bibliotheken wurden in Bionic ubernommen Als Betriebssystem Kern ist ausschliesslich Linux vorgesehen eine Binar Kompatibilitat beispielsweise mit der GNU C Bibliothek ist nicht vorgesehen Unterschiede zu POSIX BearbeitenZiel der Entwicklung von Bionic war eine weitgehende Kompatibilitat zu POSIX und dem C11 Standard der Programmiersprache C In der Android Version Oreo aus dem Jahr 2018 sind dennoch etwa 70 POSIX Funktionen der libc nicht enthalten Ursache fur dieses Auslassen von Funktionen ist u a dass bestimmte Funktionalitat in Android nicht genutzt werden so nutzt Android beispielsweise keine passwd und group Datenbanken wodurch Zugriffsfunktionen wie getpwent nicht implementierbar sind und nicht benotigt werden 2 Einige Funktionalitaten wurde absichtlich nicht POSIX konform gestaltet so wurde etwa auf Unterstutzung des printf Formats n aus Sicherheitserwagungen verzichtet 3 Unterstutzte Plattformen BearbeitenEs werden die Plattformen x86 x86 64 Armv7 a und ARM64 unterstutzt Bis zum Android Native Development Kit NDK r17 wurde ARMv5 MIPS und MIPS64 unterstutzt 4 Eine experimentelle SH 4 Unterstutzung wurde kommerziell nie eingesetzt und ist inzwischen eingestellt Bestandteile BearbeitenTeile der libc wie etwa stdio stammen aus OpenBSD der DNS Resolver aus NetBSD der Quellcode der libm fur mathematische Funktionen entspricht in weiten Teilen der FreeBSD Version wurde aber von mehreren System on a Chip Herstellern durch Assembler Implementierungen optimiert 2 Die Header Dateien zum Zugriff auf Linux Systemaufrufe werden automatisch aus den Header Dateien des Linux Quellcodes generiert samtlicher als Copyright relevant angesehener Inhalt wird bei der Generierung entfernt 2 Die Unterstutzung fur POSIX Threads libpthread sowie die Implementierung zum dynamischen Linken libdl wurden vollstandig neu entwickelt Funktionalitaten die auf POSIX Systemen in den Bibliotheken libpthread libresolv und librt bereitgestellt werden sind bei Bionic direkt in der libc implementiert Weblinks BearbeitenOffizielles Versionsverwaltungssystem des Bionic Quellcodes Android Native Development Kit NDK Einzelnachweise Bearbeiten Release 1 0 14 12 Juli 2019 abgerufen am 12 Juli 2019 a b c d e The Android Open Source Project Bionic C Library Overview 3 Marz 2009 abgerufen am 6 Dezember 2018 Elliott Hughes libc define to remove support for n from printf 3 2 Mai 2014 abgerufen am 5 Dezember 2018 englisch NDK Revision History Abgerufen am 6 Dezember 2018 englisch Abgerufen von https de wikipedia org w index php title Bionic Software amp oldid 227096590