The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

20.03.2014 19:59  Представлена стандартная Си-библиотека Musl 1.0.0, развиваемая в качестве альтернативы Glibc

После трёх лет разработки представлен первый значительный релиз новой стандартной Си-библиотеки Musl 1.0.0 (libc), ориентированной для использования в Linux-устройствах нового поколения. Библиотека отличается небольшим размером, высокой производительностью, безопасностью, простотой и соблюдением стандартов. Автором проекта является Рич Фелкер (Rich Felker), участник проекта Openwall и член группы Austin Group, развивающей и поддерживающей стандарты POSIX. Код Musl поставляется под свободной лицензией MIT, допускающей использование библиотеки в закрытых проектах.

Musl является универсальной реализацией libc и подходит для применения как на стационарных ПК и серверах, так и на мобильных системах, сочетая полноценную поддержку стандартов, свойственную для полновесных библиотек, таких как Glibc (GNU C library), с небольшим размером, низким потреблением ресурсов и высокой производительностью, свойственными специализированным вариантам libc для встраиваемых систем, таких как uClibc, dietlibc и Android Bionic. Musl предоставляет полную поддержку всех обязательных интерфейсов C99 и POSIX 2008, а также частично C11 и набор расширений, получивших распространение в Linux-окружениях. В том числе библиотека предоставляет средства для многопоточного программирования (POSIX threads), управления памятью и работы с локалями.

Проект Musl старается придерживаться совместимости с Glibc в части функциональности, как на бинарном уровне, так и на уровне исходных текстов. При этом, Musl не ставит перед собой цель обеспечения совместимости с Glibc на уровне ошибок, идущих вразрез со стандартами. На уровне исходных текстов обеспечена достаточно неплохая совместимость с Glibc. На бинарном уровне совместимость ещё оставляет желать лучшего - хотя уже можно загружать при использовании musl некоторые динамические библиотеки, собранные с Glibc, запуск приложений при замене /lib/ld-linux.so.2 на musl пока не поддерживается.

Что касается несовместимости на уровне кода, если работающее с Glibc приложение не удаётся собрать с Musl, то, как правило, проблемы вызваны ошибками при формировании списка директив include, указанием нестандартных элементов (например, __pid_t вместо pid_t) или использованием программных интерфейсов, пока не доступных в musl. Из возможностей Musl, которые отсутствуют в Glibc, можно отметить поддержку атомарного обновления, обеспечение совместимости с будущими версиями (Forward compatibility), поддержку TCB. В настоящее время сборка с Musl успешно протестирована на более чем 5000 пакетах из архива pkgsrc.

Musl поддерживает работу только в Linux и может работать с ядрами Linux, начиная с выпуска 2.6.39. Официально поддерживаются следующие архитектуры: i386, x86_64, ARM (armv4t и новее), MIPS, PowerPC и Microblaze. Экспериментальная поддержка обеспечена для SuperH (SH) и x32. Из компиляторов поддерживаются GCC 3.4.6+, Clang 3.2+, PCC 1.1.0+ и CParser/firm. При статическом связывании все компоненты Musl занимают примерно 400 Кб, при динамическом - 500 Кб (для сравнения в Glibc 1.5 Мб и 2 Мб). Минимальный размер статически собранной программы составляет 1.8 Кб, Hello World - 13k (в Glibc - 508 Кб), при динамическом связывании прибавляется 20 Кб. По производительности, Musl в основном близка к Glibc, за исключением операций динамического связывания и декодирования UTF-8, которые выполняются в Musl быстрее в несколько раз.

На базе Musl уже развивается несколько дистрибутивов Linux, среди которых проекты OSv, Sabotage, LightCube OS, starchlinux, morpheus и Snowflake. Musl также применяется в компиляторе Emscripten, используемом для преобразования C/C++ проектов в представление на JavaScript. Из известных дистрибутивов, в которых обеспечена опциональная поддержка Musl, можно отметить Debian, Ubuntu, OpenWrt, Gentoo и Arch Linux. Среди дистрибутивов, планирующих переход по умолчанию на Musl: Aboriginal, Alpine и Dragora.

  1. Главная ссылка к новости (http://www.openwall.com/lists/...)
  2. OpenNews: Архитектурные проблемы systemd, негативно влияющие на стабильность и безопасность
Лицензия: CC-BY
Тип: Интересно / Программы
Ключевые слова: musl, libc
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Аноним, 20:36, 20/03/2014 [ответить] [смотреть все]
  • +14 +/
    >отличается небольшим размером

    насколько может быть большим исполняемый файл, компилируемый из того что написано на си?
    >высокой производительностью

    производительность там, где есть хорошие алгоритмы, а не маленький размер
    >безопасностью

    безопасный код тот, который проверен большим сообществом пользователей и разработчиков, поскольку даже Hello World может быть написан с кучей уязвимостей.
    >простотой

    простота означает лишь то, что кому-то придётся от чего-то отказаться
    >соблюдением стандартов

    ну это вообще ни в какие ворота, пусть посмотрят на то, что поддерживает glibc

     
     
  • 2.4, rshadow, 21:08, 20/03/2014 [^] [ответить] [смотреть все] [показать ветку]
  • –1 +/
    Доводы самых хитрых всегда надо читать наоборот Во первых проплатили чтоб пер... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.6, Аноним, 21:24, 20/03/2014 [^] [ответить] [смотреть все]  
  • +/
    Судя по частичной поддержке C11 , не такое уж и новье Или вы имели в виду что-... весь текст скрыт [показать]
     
  • 2.8, Аноним, 21:55, 20/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    В xonotic до 6Мб бинарей догнались, например Нормально ... весь текст скрыт [показать] [показать ветку]
     
  • 2.11, Lain_13, 21:58, 20/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +5 +/
    Как минимум на пару твоих 171 утверждений 187 есть ответ в самой статье, кот... весь текст скрыт [показать] [показать ветку]
     
     
     
    Часть нити удалена модератором

  • 4.15, Lain_13, 22:08, 20/03/2014 [^] [ответить] [смотреть все]  
  • +7 +/
    Ну так сделай аналогичный список ошибочных решений и отхождений от стандарта в musl и покажи его нам. В musl список косяков glibc не поленились составить.
    Хотя нет, постой. Даже это они там описали.
     
     
  • 5.17, Аноним, 22:12, 20/03/2014 [^] [ответить] [смотреть все]  
  • –4 +/
    Некий Леня П тоже не поленился составить список Фатальных Недостатков в конкури... весь текст скрыт [показать]
     
     
  • 6.18, Lain_13, 22:26, 20/03/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    Я не возражаю, что лучше вносить улучшения в старые решения, чем городить новые ... весь текст скрыт [показать]
     
     
  • 7.19, Аноним, 22:38, 20/03/2014 [^] [ответить] [смотреть все]  
  • +/
    Офигенный аргумент Особенно если учесть, что eglibc - это просто glibc с возмож... весь текст скрыт [показать]
     
     
  • 8.21, Аноним, 23:13, 20/03/2014 [^] [ответить] [смотреть все]  
  • +/
    Интересно, что он же уверял, что дистрибутивы массово переходят на eglibc имен... весь текст скрыт [показать]
     
  • 8.23, Lain_13, 23:56, 20/03/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    Не только и не столько опциональное отключение сборки некоторых фичь, а возможно... весь текст скрыт [показать]
     
     
  • 9.25, Аноним, 00:14, 21/03/2014 [^] [ответить] [смотреть все]  
  • –2 +/
    Скорее наоборот В glibc очень неаккуратно относятся к совместимости с legacy, н... весь текст скрыт [показать]
     
     
  • 10.27, Lain_13, 00:30, 21/03/2014 [^] [ответить] [смотреть все]  
  • +2 +/
    Вообще-то в eglibc memcpy тоже 171 сломали 187 https bugs launchpad net u... весь текст скрыт [показать]
     
     
  • 11.32, Аноним, 01:33, 21/03/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    Поэтому в комментарии выше написано полагая этот проект более консервативным , ... весь текст скрыт [показать]
     
  • 2.42, Nuzhny, 08:02, 21/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Мегабайты кода Есть системы, для которых это критично Есть программы, для кото... весь текст скрыт [показать] [показать ветку]
     
  • 1.2, Аноним, 20:40, 20/03/2014 [ответить] [смотреть все]  
  • +14 +/
    А теперь давайте посмотрим реальные плюсы этой либы:
    1) MIT !!!, если дело пойдёт, это может заинтересовать некоторых проприетарщиков, хотя может и не заинтересовать.
    2) ЭГО !!!, чувак распиарился на весь мир, как поборник истинной свободы без Столлмана и GPL
     
     
  • 2.9, Аноним, 21:57, 20/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    1 Кернел все-равно придется релизить 2 Кому надо - при пересборке возьмет uc... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.12, Аноним, 22:01, 20/03/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    Судя по частичной совместимость glibc , просто так взять и поменять musl на egl... весь текст скрыт [показать]
     
     
  • 4.50, Аноним, 13:13, 21/03/2014 [^] [ответить] [смотреть все]  
  • +/
    Скорее, взять и заменить eglibc на musl врядли получится Мелкотравчатые lightwe... весь текст скрыт [показать]
     
     
  • 5.75, Анонимдругой, 02:52, 04/08/2017 [^] [ответить] [смотреть все]  
  • +/
    BSD MIT - единственные свободные free лицензии, даже больше типичного freeware, ... весь текст скрыт [показать]
     
  • 3.16, Аноним, 22:09, 20/03/2014 [^] [ответить] [смотреть все]  
  • –2 +/
    GPL в ядре Linux не накладывает ограничений на закрытие юзерспейса В отличие от... весь текст скрыт [показать]
     
     
  • 4.22, Аноним, 23:56, 20/03/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    Это упущение Нужно ограничение на закрытие билиотеки самого нижнего уровня, неп... весь текст скрыт [показать]
     
     
  • 5.26, Аноним, 00:20, 21/03/2014 [^] [ответить] [смотреть все]  
  • +/
    Чтобы библиотеки были открыты, но прикладного ПО это не касалось - они должны бы... весь текст скрыт [показать]
     
     
  • 6.76, Анонимдругой, 03:12, 04/08/2017 [^] [ответить] [смотреть все]  
  • +/
    Прикиньте 1 сами разработчики именно поэтому её и выбрали Алло 2 другим ж... весь текст скрыт [показать]
     
     
  • 7.77, Анонимдругой, 03:14, 04/08/2017 [^] [ответить] [смотреть все]  
  • +/
    корпорациями или иными организацими или лицами когда могущими захватить весь... весь текст скрыт [показать]
     
     
  • 8.78, Анонимдругой, 03:19, 04/08/2017 [^] [ответить] [смотреть все]  
  • +/
    своими миллиоными вложениями в раскрутку, и даже когда и в расширение прод... весь текст скрыт [показать]
     
  • 4.51, Аноним, 13:14, 21/03/2014 [^] [ответить] [смотреть все]  
  • +/
    Вот же ж А как, простите, проприетарные игры с ним линкуются ... весь текст скрыт [показать]
     
     
  • 5.64, Michael Shigorin, 12:03, 22/03/2014 [^] [ответить] [смотреть все]  
  • +/
    Всем некростудентам, отметившимся в треде учите матчасть, в данном разе LGPL ... весь текст скрыт [показать]
     
     
  • 6.68, Маленькая Серая Мышка, 01:34, 24/03/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    Да чего уж там учить, вся матчать-то "closed_source + LGPL = dlopen".
     
  • 1.7, Аноним, 21:45, 20/03/2014 [ответить] [смотреть все]  
  • –1 +/
    здоровская экономия памяти ГДЕ ВЗЯТЬ ХОТЬ ОДИН ЛИНУКС, С СОФТОМ, в котором всё,... весь текст скрыт [показать]
     
     
  • 2.10, Аноним, 21:58, 20/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +3 +/
    ... весь текст скрыт [показать] [показать ветку]
     
  • 2.35, Аноним, 01:38, 21/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Вы надеетесь что, если собрать кеды или хром с использованием сабжа, они сразу н... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.45, Могикан, 08:56, 21/03/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    Какашка Хром? Ну хотя бы на 10%. Мы бы уже сказали "ДА!!!!!!"
     
  • 3.65, AlexAT, 16:12, 22/03/2014 [^] [ответить] [смотреть все]  
  • +/
    Особенно если учесть, что in-memory образ библиотеки, как правило, один на всё з... весь текст скрыт [показать]
     
     
  • 4.71, Вареник, 06:45, 28/04/2016 [^] [ответить] [смотреть все]  
  • +/
    При монолитном ядре, после сжатия весящем 40-60 мегабайтов - без разницы сколько... весь текст скрыт [показать]
     
  • 1.14, NO_ID, 22:05, 20/03/2014 [ответить] [смотреть все]  
  • +5 +/
    http://www.musl-libc.org/jslinux/ in-browser demo setup using jslinux
     
  • 1.20, Аноним, 23:10, 20/03/2014 [ответить] [смотреть все]  
  • –1 +/
    Где ссылка на гитхаб?
     
     
  • 2.24, NO_ID, 00:10, 21/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    http://git.musl-libc.org/cgit/musl/

    зачем github?

     
  • 1.29, Pop, 01:13, 21/03/2014 [ответить] [смотреть все]  
  • –2 +/
    >> Musl поддерживает работу только в Linux

    Ну и чем оно лучше Glibc ?

     
     
  • 2.33, Аноним, 01:34, 21/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Тем, что под BSD-like лицензией ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.52, Аноним, 13:15, 21/03/2014 [^] [ответить] [смотреть все]  
  • +/
    Сомнительное улучшение Выигрывает полтора жирных корпораса Пролетают все ост... весь текст скрыт [показать]
     
  • 1.30, pavlinux, 01:18, 21/03/2014 [ответить] [смотреть все]  
  • –2 +/
    Где, где я вас спрашиваю systemd-libc ?
     
     
  • 2.34, Аноним, 01:35, 21/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Ленька не осилил, и решил отмазаться, мол, это первоапрельский прикол был Но мы... весь текст скрыт [показать] [показать ветку]
     
  • 1.36, Mihail Zenkov, 02:15, 21/03/2014 [ответить] [смотреть все]  
  • +7 +/
    Человек сделал библиотеку которая меньше ест памяти и работает быстрее (
    http://www.etalabs.net/compare_libcs.html). Обязательно нужно его залажать?

    Я понимаю что всех уже достал systemd и т.д. Но здесь противоположный случай - здоровый минимализм и оправданный отказ от legacy.

     
     
  • 2.38, Crazy Alex, 06:08, 21/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Было бы под GPLv3 - лично я хвалил бы А если человек кормит врагов - не вижу че... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.41, hoopoe, 07:27, 21/03/2014 [^] [ответить] [смотреть все]  
  • +/
    А враги знают что они враги? :)
     
     
  • 4.53, Аноним, 13:15, 21/03/2014 [^] [ответить] [смотреть все]  
  • –1 +/
    > А враги знают что они враги? :)

    Их знание не требуется.

     
  • 3.57, Mihail Zenkov, 14:29, 21/03/2014 [^] [ответить] [смотреть все]  
  • +2 +/
    На данный момент пусть лучше враги используют наши библиотеки и соответственн... весь текст скрыт [показать]
     
  • 2.40, Anonym2, 07:23, 21/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • –3 +/
    Так, первое, что усмотрел с половины взгляда - полное отсустствие поддержки норм... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.43, Led, 08:23, 21/03/2014 [^] [ответить] [смотреть все]  
  • +1 +/
    Как Ни одной из over9000 нормальных русских 8-битных кодировок Ужас А должн... весь текст скрыт [показать]
     
     
  • 4.47, Анонимоус, 11:03, 21/03/2014 [^] [ответить] [смотреть все]  
  • +/
    ...как необычная.
     
  • 4.48, Anonym2, 11:31, 21/03/2014 [^] [ответить] [смотреть все]  
  • –2 +/
    > А должна быть как...?

    :-) Пожалуй, так и должна наверно... Для gcc.


     
     
  • 5.54, Аноним, 13:16, 21/03/2014 [^] [ответить] [смотреть все]  
  • +/
    Не для gcc а в XXI веке , где пора бы уже забыть про гемор с выбором кодирово... весь текст скрыт [показать]
     
     
  • 6.55, Anonym2, 13:39, 21/03/2014 [^] [ответить] [смотреть все]  
  • –2 +/
    Поскольку год сейчас 2014 и пятница, то поддержка 8 битных русских кодировок нео... весь текст скрыт [показать]
     
     
  • 7.58, Аноним, 16:15, 21/03/2014 [^] [ответить] [смотреть все]  
  • +/
    > необходима с особенной очевидностью...

    В этот четверг не было дождя.

     
     
  • 8.69, Anonym2, 15:43, 24/03/2014 [^] [ответить] [смотреть все]  
  • +/
    Зато в 1999 году помнится был Перед XXI веком ... весь текст скрыт [показать]
     
  • 1.49, northbear, 12:12, 21/03/2014 [ответить] [смотреть все]  
  • +/
    Стандартная библиотека с лицензией MIT работающая только в Linux? Любопытно...
     
     
  • 2.59, Аноним, 17:29, 21/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Можно и для других OS адаптировать и MIT как раз это позволит... весь текст скрыт [показать] [показать ветку]
     
  • 1.60, Аноним, 23:58, 21/03/2014 [ответить] [смотреть все]  
  • –1 +/
    прикольно в дебьяне и ко - мы ее врятли увидим а в арче имб красношапке - воз... весь текст скрыт [показать]
     
  • 1.61, Аноним, 00:01, 22/03/2014 [ответить] [смотреть все]  
  • –2 +/
    а про стандартные glibC и eglibC либы - дык они все под улюлдочными относитель... весь текст скрыт [показать]
     
  • 1.62, Аноним, 00:38, 22/03/2014 [ответить] [смотреть все]  
  • –2 +/
    bsd libc в FreeBSD 10 0 весит 1 5мб и Hello World на сишечке 7кб Такой толстый... весь текст скрыт [показать]
     
     
  • 2.63, Led, 01:46, 22/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Такой толстый и тупой BSD шный анонимный тролль ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.72, prushka.ruit, 12:06, 29/04/2016 [^] [ответить] [смотреть все]  
  • +/
    решил проверить он не тролль, он пишет правду cat hw c include stdio h ... весь текст скрыт [показать]
     
     
  • 4.73, edo, 11:16, 26/06/2016 [^] [ответить] [смотреть все]  
  • +/
    и edo edo-home tmp cat hw c include stdio h int main printf Hello wo... весь текст скрыт [показать]
     
  • 1.67, bOOster, 13:27, 23/03/2014 [ответить] [смотреть все]  
  • +1 +/
    Ну хоть кто-то еще придерживается традиционной ориентации, а не пишет libc на asm.js :)))
     
     
  • 2.70, Аноним, 22:32, 24/03/2014 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Возможно после вашего комментария это может изменится Ну а если серьезно то ... весь текст скрыт [показать] [показать ветку]
     
  • 1.74, Аноним, 00:32, 06/10/2016 [ответить] [смотреть все]  
  • +/
    Уважаемый автор, разрешаете ли вы перепечатать текст вашей новости в статье о mu... весь текст скрыт [показать]
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor