Что такое бионика и либхибрис?

Читая об Ubuntu Touch и Ubuntu для Android, я заметил ссылки на "бионический" и "libhybris", которые делаются довольно часто.

Я предполагаю, что libhybris - это библиотека из-за префикса "lib", но это все, что я знаю.

Что такое бионика и либхибрис, и чем они занимаются?

Редактировать: @maggotbrain спросил, могу ли я дать ссылку на некоторые источники, где я нашел упоминание о бионическом / libhybris. Вот комментарий к Hacker News, а вот еще один. Это единственные, которые я смог найти, что меня по-настоящему удивило, когда кто-то упомянул об этом на собрании Ubuntu LoCo.

1 ответ

Решение

Bionic, согласно википедии:

Bionic libc является производным от стандартного кода C библиотеки BSD, который был первоначально разработан Google для встроенной операционной системы Android

Если вам интересно, что такое стандартная библиотека C, то это библиотека, которую используют все приложения, написанные на C. Он содержит функции ввода и вывода (например, печать на терминал, запись / чтение файла и т. Д.), Функции памяти (распределение / освобождение) и т. Д.... Обратите внимание, что стандартная библиотека C на самом деле является лишь спецификацией для библиотека (такая же, как OpenGL и некоторые другие), на самом деле это не библиотека, которую вы можете скачать и использовать. Вот почему существуют реализации, такие как BSD (я буду называть это BSD libc для удобства), GNU (которая, кстати, по умолчанию включена в ubuntu, под названием libc) или, в данном случае, Bionic. Но, как говорится в Википедии, Bionic основан на BSD libc, поэтому это не оригинальная реализация. Теперь о фактической реализации, я не уверен, в чем разница между Bionic и BSD libc, но я думаю, что это как-то связано с совместимостью их устройств, или с чем-то вроде этого (поскольку одна из причин, почему стандартная библиотека C - это всего лишь спецификация того, как функции работают в разных ОС).

libhybris - это расширение, если хотите, бионики, которая действует как libdl (источник: http://www.phoronix.com/scan.php?page=news_item&px=MTE5Mjk). Если вам интересно, что libdl это библиотека, которая позволяет приложениям динамически загружать другие библиотеки в свои приложения. Это чрезвычайно полезно (если не невозможно обойтись без) для плагинов и тому подобного.

Надеюсь, это проясняет!

Другие вопросы по тегам