LINUX.ORG.RU

Отчёт о развитии FreeBSD за четвёртый квартал 2021 года

 


1

1

Опубликован отчёт о развитии проекта FreeBSD с октября по декабрь 2021 года.

Сбор средств:

  • Проект с гордостью сообщает о достижении цели: собрано $1,281,437!

Улучшения OS:

  • Благодаря усилиям команды Semihalf защита ASLR теперь — штатная функция по умолчанию для 64-разрядных исполняемых файлов PIE и non-PIE.
    Спонсировано Stormshield.
  • Сокращено время загрузки. Работы были начаты в 2017, за стандарт был взят инстанс EC2. К сентябрю 2021 время загрузки было уменьшено с 30 до 15 секунд, а в четвертом квартале доведено до 10.
    Спонсировано через Patreon.
  • Отладчик LLDB. Этот отладчик поставляется в базовой системе и призван заменить собой GDB, но пока отстает от него по функциональным возможностям. Основной целью является реализация удаленной отладки ядра по тому же протоколу, что и для GDB. На данный момент достигнут успех в отладке по последовательному порту RS-232. Завершение проекта ожидается к выпуску LLDB 14.
    Спонсировано The FreeBSD Foundation.
  • Поддержка NXP LS1028A/LS1027A SoC. Это системы с разнообразной периферией на основе 64-bit ARMv8 Cortex-A72.
    Спонсировано Alstom Group.
  • Константином Белоусовым реализованы системные вызовы sched_getcpu(2), membarrier(2), и rseq(2). В линуксе есть набор системных вызовов, которые позволяют разрабатывать масштабируемые алгоритмы с минимизацией системных вызовов. Эти механизмы основаны на оптимистическом предсказании (optimistic execution) с использованием локальных данных CPU в предполагаемой ситуации, когда переключения контекста, сигналы и прочие события такого рода не случаются, а если они случаются, происходит откат. Такой высокоуровневый подход применяется для реализации утилит вроде URCU (https://liburcu.org/), быстрого выделения памяти (tcmalloc) и других инфраструктурных проектов, нацеленных на кластеры. Например, системный вызов sched_getcpu(2) возвращает CPU ID, где выполняется текущий поток (thread). Сложность в том, что результат полученный ассемблерными инструкциями устаревает еще в момент создания до возвращения в пространство пользователя. Но его тем не менее можно использовать как начальные данные (seeding values) для расчета долговременных алгоритмов. Два краеугольных камня, которые позволяют реализовать такие алгоритмы в пространстве пользователя — это membarrier(2) and rseq(2). Эти вызовы написаны во FreeBSD с чистого листа, за основу взяты справка (man) в Linux и публичные обсуждения. В Linux/glibc нет стабильного интерфейса для реализации rseq(2). Что-то вносят в основную ветку, потом отменяют. Разработчкики FreeBSD считают, что будет благоразумнее подождать стабилизации интерфейса в Linux glibc, преждем чем переносить его во FreeBSD libc. В любом случае цели 100% совместимости с Linux не ставится.
    Спонсировано: The FreeBSD Foundation.
  • Константин Белоусов работал также над VDSO (Virtual Dynamic Shared Object). VDSO — это динамическая библиотека, которую подключают к исполняемой программе в результате совместной работы ядра и динамического линковщика. Она не существует на диске в виде отдельного .so и соответственно нет ELF-инструкций для подключения. FreeBSD уже имела множество VDSO-возможностей, которые обычно используются в Linux, но без такого усложнения. Однако не поддерживалась отладочная информация формата DWARF (DWARF annotations). Теперь VDSO оборачивает DWARF annotations в разделяемый объект и помещает в страницу разделяемой памяти.
    Спонсировано: The FreeBSD Foundation.
  • Поддержка ENA (Elastic Network Adapter) — гибких сетевых адаптеров, используемых в Amazon Web Services (AWS).
    Спонсировано Amazon.
  • Добавлены новые драйверы Linux Wireless, которые работают через Linux-совместимый интерфейс LinuxKPI.
    Спонсировано: The FreeBSD Foundation.
  • Джон Болдвин продолжает разработку wireguard-драйвера в ядре. Проделана работа над XChaCha20-Poly1305.
    Спонсировано: The FreeBSD Foundation.

Система портов:

  • KDE (в основном багфиксы), LibreOffice (нужны люди для багфиксов).

>>> Подробности

★★★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 12)

Ответ на: комментарий от LightDiver

80% тех, кто не относится к твоему корпоративному мирку, кто с этим мирком не пересекается никогда, но вносит свою пользу и живет своей жизнью.

ты сейчас про кого конкретно? не могу бы ты уточнить? кто вокруг тебя не относится к мирку, к которому отношусь я?

crypt ★★★★★
() автор топика
Ответ на: комментарий от LightDiver

Чисто десктопные проекты, которые используются, например, у меня прямо сейчас.

ты понимаешь, что все эти проекты используют системную библиотеку или нет?

crypt ★★★★★
() автор топика
Ответ на: комментарий от crypt

Ты про глибс? Сейчас специально загуглил и в упор не вижу чтобы ее создал ред хат. Что снова поддалкивает меня к моей точке зрения.

LightDiver ★★★★★
()
Ответ на: комментарий от crypt

Да кто угодно, кто не РХ. Пойми, что нет лидеров, без которых «все пропало».

LightDiver ★★★★★
()
Ответ на: комментарий от LightDiver

чтобы ее создал ред хат.

еще раз ты. ты сидишь на линуксе, но ни в зуб ногой не понимаешь, как пишется здесь софт. это не майрософт, который выдает диск со своим софтом. но это и не значит, что софт не редхатовский. ты не знаешь, как определить.

crypt ★★★★★
() автор топика
Последнее исправление: crypt (всего исправлений: 1)
Ответ на: комментарий от crypt

Заходим в непогрешимую и никогда не врущую википедию:

написана Free Software Foundation для операционных систем GNU. glibc выпущена под лицензией GNU LGPL.

LightDiver ★★★★★
()
Ответ на: комментарий от LightDiver

Дай угадаю - программистами, практически все из которых не имеют отношения к РХ?

ты всевремя пытаешься угадать. почему бы не посмотреть?

crypt ★★★★★
() автор топика
Ответ на: комментарий от LightDiver

википедия - это еще не все. так ты ничего не узнаешь. все проекты в OpenSource в основном независимые.

crypt ★★★★★
() автор топика
Последнее исправление: crypt (всего исправлений: 1)
Ответ на: комментарий от sluggard

А чего еще делать? У меня вон книга по юсб1 заливается на плеер… Зима…

LightDiver ★★★★★
()
Последнее исправление: LightDiver (всего исправлений: 1)
Ответ на: комментарий от sluggard

Это для тебя воскресенье. А я даже год особо не могу запомнить. У нас тут время делится на: 1) Зима 2) Посевная 3) Прополка 4) Сбор урожая 5) Зима…

LightDiver ★★★★★
()
Ответ на: комментарий от sluggard

Это для тебя воскресенье. А я даже год особо не могу запомнить. Я не сплю последних 3 года и год не делится вообще. Просто месяцами жду, когда психофарма заработает.

crypt ★★★★★
() автор топика
Ответ на: комментарий от LightDiver

сейчас я скачаю исходники и покажу тебе, как смотреть

crypt ★★★★★
() автор топика
Ответ на: комментарий от crypt

Ну, страдай, чо. Я за компом сейчас ими пользуюсь, чтобы в проводах не путаться.

hateyoufeel ★★★★★
()
Ответ на: комментарий от LightDiver

Прочитав твой пост почему-то подумал, что ты беларус. )

sluggard ★★★★★
()
Ответ на: комментарий от hateyoufeel

ты не явист случаем?

что это может быть:

log4cxx: No appender could be found for logger (BtCommon).
log4cxx: Please initialize the log4cxx system properly.
Failed to create Application support Dirs
crypt ★★★★★
() автор топика
Ответ на: комментарий от sluggard

Что за психофарма, не первый раз упоминаемая?

вопрос не понял. слово незнакомое или интересует, какая именно?

crypt ★★★★★
() автор топика
Ответ на: комментарий от crypt

И то, и другое, и третье. Что такое «заработает» тоже непонятно. Ждёшь, когда откроется фармацевтический завод, производящий нейролептики?

sluggard ★★★★★
()
Ответ на: комментарий от LightDiver

итак, показываю, как смотреть, кто на самом деле пишет код.

скачиваешь исходники

git clone https://sourceware.org/git/glibc.git
cd glibc
git log

сразу сверху видишь:

commit 9bdf92c79d63b42f931101bb6df87129c408b0c4 (HEAD -> master, origin/master, origin/HEAD)
Author: Florian Weimer <fweimer@redhat.com>
Date:   Fri Mar 11 08:23:56 2022 +0100

    nss: Protect against errno changes in function lookup (bug 28953)
  blablabla
    
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>

commit aefc79ab5ad4bb9feea2876720cec70dca7cd8ed
Author: Florian Weimer <fweimer@redhat.com>
Date:   Fri Mar 11 08:23:56 2022 +0100

    nss: Do not mention NSS test modules in <gnu/lib-names.h>
    
   blablabla
    
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>

commit d653fd2d9ebe23c2b16b76edf717c5dbd5ce9b77
Author: Florian Weimer <fweimer@redhat.com>
Date:   Thu Mar 10 08:50:51 2022 +0100

    malloc: Exit early on test failure in tst-realloc
    
   blablabla
    
    Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>

commit 590f5992b66a0f105eabf2eae35e8704cbf9a59e
Author: Steve Grubb <sgrubb@redhat.com>
Date:   Thu Mar 10 05:56:33 2022 +0530

    Add some missing access function attributes
    
blablabla

видишь емейлы? потом делаешь:

crypt@witch /tmp/glibc $ git log |egrep '<[a-z]+@.*>' |wc -l
50727

это общее количество емейлов.

crypt@witch /tmp/glibc $ git log |egrep '<[a-z]+@redhat.com>' |wc -l
22396

и почти половина редхатовские.

crypt ★★★★★
() автор топика
Ответ на: комментарий от sluggard

И то, и другое, и третье. Что такое «заработает» тоже непонятно. Ждёшь, когда откроется фармацевтический завод, производящий нейролептики?

психофарма - рецептурные препараты для ... кхм... психики. подлежат количественному учету в аптеке. это значит не просто показываешь рецепт, а на нем внимательно проверяют наличие всех штампов, потом снимают копию. препараты сильные. самопальное применение «просто посмотреть, что будет» чревато летальным исходом. сразу принять, как таблетку аспирина нельзя. пьются по специальным схемам, начиная с маленьких дозировок с последующим увеличением. выход на дозировку может занимать недели. потом несколько месяцев, пока уйдут побочные эффекты (зависят от убойности препарата) и он наконец начнет оказывать основное действие, ради которого собственно его выписывали. если что-то пошло не так: rollback and retry.

crypt ★★★★★
() автор топика
Последнее исправление: crypt (всего исправлений: 1)
Ответ на: комментарий от sluggard

ггг) если бы:) насколько я могу понять из общения со спецами, у меня просто уже в жизни было слишком много всего, чтобы это отмотать назад. таблетки просто, чтобы начать спать.:) ну и прочие мелочи...)

crypt ★★★★★
() автор топика
Последнее исправление: crypt (всего исправлений: 1)
Ответ на: комментарий от LightDiver

так, извини меня, большинство проектов создано не в редхате. просто потому что корпорации до 2001 года не интересовались опенсорсом. даже ядро создано не в редхате. но корпорации активно включились в разработку и де факто это теперь их проекты. типа кто девушку кормит, понимаешь? если все ключевые разработчики на зарплате корпорации, то какие они решения принимают? IBM постепенно подгребает то, что ему нужно.

crypt ★★★★★
() автор топика
Ответ на: комментарий от crypt

И опять же это лишь малая часть экосистемы, пересекающаяся с серверами. Чисто на десктопы они не работают. А кроме чисто серверного ой как много всего еще.

LightDiver ★★★★★
()
Ответ на: комментарий от LightDiver

это не маленькая часть. это часть, без которой у тебя ничего работать не будет. без системной библиотеки ничего не будет работать. в этом интерес сабжевой новости, как freebsd копирует вещи.

crypt ★★★★★
() автор топика
Последнее исправление: crypt (всего исправлений: 1)
Ответ на: комментарий от LightDiver

вот в этом-то мой поин и состоит. _все_ ключевые компоненты: системный фреймворк (systemd), файрвол, главная библиотека... ядро только на 10% независимое... да и то. просто аккаунт может быть на gmail, а человек в корпорации.

сейчас руководятся корпорациями.

а независимые проекты под это подстраиваются.

из более менее независимых ОС - это OpenBSD. там базовая система своя, а сверху они уже наворачивают и редхатовские gtk, и kde, и браузеры (тоже нифига не свободные).

фряха не свободная, но хотя бы не редхатовская. я бы и на солярис мог перейти (он закрытый), но там весь софт из редхата.

crypt ★★★★★
() автор топика
Последнее исправление: crypt (всего исправлений: 2)
Ответ на: комментарий от crypt

Просто ты пытаешься продвинуть мысль, что это ключевое и самое главное, а оно - даже не 10%. Вот системды у меня нету и никогда не было. ПА нету. Гнома нету.

LightDiver ★★★★★
()
Ответ на: комментарий от LightDiver

Вот системды у меня нету и никогда не было. ПА нету. Гнома нету.

зато без gtk ты обойтись не можешь. вполне себе заметное дело. сколько у тебя разных gtk? 2 или уже 3?я вот пытался собрать libreoffice с qt - сразу проблемы со шрифтами.

crypt ★★★★★
() автор топика
Последнее исправление: crypt (всего исправлений: 1)
Ответ на: комментарий от sluggard

поэтому мне вчера пришлось добавить эту приписку:

Отчёт о развитии FreeBSD за четвёртый квартал 2021 года (комментарий)

ели написал новость и посты свои приходится по нескольку раз править. и это еще цветочки. три года назад с работы пришлось уйти.

crypt ★★★★★
() автор топика
Последнее исправление: crypt (всего исправлений: 2)
Ответ на: комментарий от crypt

Даже ядро - ниразу не самое главное. В той же генту долгое время можно было поставить и ядро фрибсд. Это лишь часть, причем ядро это не цельная структура, а вклад множества различных человеков.

И вот вклад конкретно РХ в десктопную экосистему бесконечно мал по сравнению с общим целым.

LightDiver ★★★★★
()
Ответ на: комментарий от LightDiver

поставить и ядро фрибсд.

ой, я тя умоляю!:( этот проект существовал года 3 в режиме альфы.:(

crypt ★★★★★
() автор топика
Ответ на: комментарий от LightDiver

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

crypt ★★★★★
() автор топика
Последнее исправление: crypt (всего исправлений: 1)
Ответ на: комментарий от LightDiver

ГТК нужно по сути для двух софтин - фф

или chrome. короче, gtk тебе нужно, чтобы у тебя был браузер. шах и мат.

crypt ★★★★★
() автор топика
Последнее исправление: crypt (всего исправлений: 1)
Ответ на: комментарий от crypt

Связанных софтин много. Вопрос весь во вкладе РХ в общую десктопную экосистему в процентах. И этот вклад мал именно в процентном соотношении.

И тот же гтк опять же бесконечно малый процент от общей системы.

Вот у меня сейчас установлено 1439 пакетов. Представляешь процент РХ в них? Это врядли даже 5%.

LightDiver ★★★★★
()
Последнее исправление: LightDiver (всего исправлений: 1)
Ответ на: комментарий от LightDiver

малый процент от общей системы.

Вот у меня сейчас установлено 1439 пакетов. Представляешь процент РХ в них? Это врядли даже 5%.

а ты не пакеты считай. я сравнивал самосборную систему и дефолтную. пакетов в 2 раза меньше, а по объему места на диске хорошо, если 25% сократилось. пакеты вообще неправильно считать. тем более, как я показал тебе выше, ты не знаешь, кто коммитит в проект и какова роль редхата в нем.

ты лучше выдели пакеты, без которых при всем желании не сможешь обойтись. без браузер сможешь? нет! а браузер - это уже корпорации: google, mozilla и обе используют gtk от red hat.

crypt ★★★★★
() автор топика
Ответ на: комментарий от crypt

С чего бы не могу? У меня просто нет необходимости этого делать. А так - вполне можно отказаться.

Вопрос же не в отказе от чего то, а об вкладе РХ в общую экосистему. Этот вклад не ключевой, просто они одни из.

LightDiver ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.