Bionic libc |
辞書:電算用語の基礎知識 プログラミング用語編 (PTPROGY) |
読み:バイオニック-リブ-スィー |
外語:Bionic libc |
品詞:固有名詞 |
|
概要 |
AndroidはLinuxカーネルを用いているが、標準CライブラリはLinuxで一般的なglibc(GNU libc)ではなく、BSDのCライブラリを基にして開発された独自のものを用いている。
Bionic libcは、BSDライセンスで提供されている。
特徴 |
由来 |
Androidで独自の標準Cライブラリが採用した理由は二つある。
一つは、メモリーの限られる携帯機器で多くのプロセスが利用するため、コンパクトで、高速なものが必要となったためとされる。
スレッド機能(pthread)など重そうな機能も、高速かつコンパクトな独自の実装となっているとされる。
もう一つは、GPLをユーザースペースに伝搬させないため。
Googleは、GPLはカーネルまでに留め、それより上は原則としてBSDライセンス相当とする方針としている。
またglibcはLGPLだが、これを静的リンクしてしまうとLGPLが感染し、リバースエンジニアリング禁止がライセンス規約として不可となるなど、プロプライエタリーな環境では面倒な問題もある。
これを避けるため、BSDライセンスで提供されるBionic libcが用意された。
内容 |
Androidでは、ソースコードのルートに/bionicとしてディレクトリが存在する。
この直下には、libc libdl libm libstdc++ libthread_db linker という6つのディレクトリがある。
それ以外は主にThe Android Open Source Projectの作成したものだが、BSDライセンスとなっている。
また、mallocは、glibcと同様にパブリックドメインのdlmallocがベースとなっている。
リンク |
通信用語の基礎知識検索システム WDIC Explorer Ver 7.04a (27-May-2022) Search System : Copyright © Mirai corporation Dictionary : Copyright © WDIC Creators club |