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)

модераторы/корректоры, пожалуйста, прочтите текст внимательно. очень велика вероятность пропуска предлогов, окончаний слов, описок и т.д. hobbit

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

FreeBSD — универсальная операционная система с открытыми исходными текстами. Каждый из пользователей получает от неё то, что он хочет.

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

Жаль что они в основном как сервер развиваются, без оглядки на досктопы.

Тебе нужен еще один такой же десктоп, как линукс, который с одной стороны копирует мак, а с другой виндовс?=)

На мой взгляд основное достоинство FreeBSD - это то, что они вообще почти не развиваются=))) Ты посмотри отчет: они портируют всякие штуки из Linux, реализуют Linux-совместимый API то там, то здесь, но делают это так медленно, что иногда даже находится лишнее время подумать в промежутке. Ускоряем загрузку? Не, новые мега инит писать не будем! Давайте 4 года оптимизировать тот, что есть! Портируем syscall из линукс? Да, но че-то сейчас как-то линукс сам не знает, че там и как... давайте пока подождем... А пока сделаем все проще.

Выходит такой несертифицированный UNIX, не-Linux, который совместим с Linux и не совместим с gnome/systemd/other-red-hat-shit. Мне нравится!

С OpenBSD все еще хуже. Я сегодня читал, не собирается ли OpenBSD поменять концепт и перейти на безопасные языки типа rust и в итоге нашел ответ Тео. Звучит примерно так: Чуваки! Мы десять лет добивались, чтобы у нас появился свой grep! Нельзя просто так взять и перейти на rust!

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

Насчёт портирования с запозданием.

У тебя jpeg-turbo какой версии? У меня jpeg-turbo-2.1.3.

mesa-dri/mesa-libs? mesa-dri-21.3.7 и mesa-libs-21.3.7, соответственно.

mpv-0.34.1_1,1, firefox-98.0_2,2, thunderbird-91.7.0_1, chromium-99.0.4844.51_3 разве успели устареть?

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

Жаль что они в основном как сервер развиваются, без оглядки на досктопы.

p.s.

какие-то *опычи денисовы из сша добрались и до FreeBSD и делают очередную поделку «with a focus on simplicity, elegance, and usability». лучше даже не смотри! :::::::::::::::::::((

ну и плюс есть еще долгоиграющий проект Яблоко, нацеленный именно на десктопы... они даже железо свое выпускают. :)

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

Однако не поддерживалась отладочная информата формата DWARF

hobbit, «информата формата» - это так и должно быть?? я просил программистов перевести, что такое annotations, но... это уж совсем по-программистски)))

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

Добавлены новые драйверы Linux Wireless, которые работают через Linux-совместимый интерфейс LinuxKPI.

Не туда пацаны свернули, не туда. Сразу заприметил, как с видео начали такое вытворять.

modest
()

mpv-0.34.1_1,1, firefox-98.0_2,2, thunderbird-91.7.0_1, chromium-99.0.4844.51_3 разве успели устареть?

На дебиане все еще firefox-91.7.0

Кто там еще за кем отстаёт?

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

FreeBSD — универсальная операционная система с открытыми исходными текстами. Каждый из пользователей получает от неё то, что он хочет.

Они мои патчи с багфиксами игнорят :(

Но всё равно намного лучше чем линукс.

firkax ★★★★★
()

Сокращено время загрузки. Работы были начаты в 2017, за стандарт был взят инстанс EC2. К сентябрю 2021 время загрузки было уменьшено с 30 до 15 секунд, а в четвертом квартале доведено до 10.

На каком железе?

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

там у вас много написано, а я идзена не читаю. в чем суть? не появляются элементы управления при наведения мыши? у меня появляются (хотя я мышеинтеграцию не признаю, считаю, что все это уродливо и поэтому mpv не использую), но mpv запускается и играет.

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

А почему у него не появляются?

когда я говорил, что наблюдаю какие-то проблемы, то обычно он тарахтел, что мол у линуксоидов все неправильно: они не моют руки и берут его систему с неправильной стороны. так что теперь дальше этого объяснения мне лень смотреть:)

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

Тебе нужен еще один такой же десктоп, как линукс, который с одной стороны копирует мак, а с другой виндовс?=)

с одной стороны копирует мак, а с другой виндовс

Кстати, я тут чисто мимо проходил, но на опеннете сегодня видел коммент в таком же духе, так что решил спросить. Кто-нибудь может объяснить сакральный смысл вот этой идеи, что, якобы ни в коем случае никому нельзя перенимать принципы построения интерфейсов из других операционок? А как тогда надо действовать? Почему нельзя пользоваться устоявшимися подходами, которые привычны большинству пользователей? Почему-то никто не осуждает производителей автомобилей, что очередная новая модель ОПЯТЬ была разработана с четырьмя колёсами, а не с тремя или с пятью. А как только док с иконками внизу экрана, так всё – вы все яблодрочеры и у вас закос под макос. Кстати, в виндах теперь тоже док из одних иконок в центре снизу экрана.

P.S. Вопрос, естественно, риторический, объяснять мне ничего не нужно. Просто поднабросил за компанию.

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

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

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

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

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

понимаешь, да? можешь не отвечать, это так. риторическое высказывание.

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

Если продолжать аналогию про автомобили, то Linux — это не какой-то конкретный автомобиль, который что-то копирует у других, а платформа, на которой строятся автомобили. Какие хочешь, хочешь копии других, хочешь непохожие. Как MLB у Фольксваген — на ней и третий Туарег построен, и Кайен, и Ку7.

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

нельзя перенимать принципы построения интерфейсов из других операционок

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

А если конкретнее, то интерфейс виндо-маков не особо хороший, к нему просто привыкли всякие домохозяйки.

док с иконками внизу экрана

Иконки (на десктопе) не нужны. Ни внизу, ни вверху, ни в доке, ни где-либо ещё.

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

FreeBSD — универсальная операционная система с открытыми исходными текстами. Каждый из пользователей получает от неё то, что он хочет.

А если не может, то получает, что хочет от винды.

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

MPV пашет нормально. Только в сильно кастомизированной версии (что позволяет коллекция портов FreeBSD и не позволяет бинарный дистрибутив GNU/Linux) можно отрезать что-то важное и только серией экспериментов понять, наличие или отсутствие чего-то в зависимостях на что влияет.

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

Тебе нужен еще один такой же десктоп, как линукс, который с одной стороны копирует мак, а с другой виндовс?=)

Не. Но вот от полноценной поддержки Bluetooth и некоторых других десктопных штук я бы очень не отказался. В FreeBSD завести BT-наушники – это надо жопу разовать.

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

Ну представь, используешь ты интерфейс мака в своем уютном линуксе, а завтра эппл запрещает поставки элементов интерфейса мака в линукс.

Qt Group так и поступила: ограничила коммерческую поддержку своей библиотеки и инструментов разработчика в России.

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

Предложи лучше.

Вот, сделал и пользуюсь.

WM под себя + xfce-terminal + mc

Как видишь никаких доков нет. «Рабочего стола» с иконками тоже нет (сзади просто серый фон, который впрочем редко виден когда-то кроме только что запущеной сессии). Оконных файловых менеджеров в стиле винды тоже нет.

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

Переключения софта мышкой нет, уведомлений нет, запуска софта мышкой нет.

Как это переключения нет? Кнопки на таскбаре.

Уведомления вообще с DE никак не связаны, это просто окна поверх экрана где-нить в углу. Но мне не нужны, да.

Зачем запускать мышкой когда можно хоткеем? Хоткей быстрее.

Все то же самое можно сделать гораздо удобнее с иконками и прочим.

Кнопки окон без текстовых заголовков - ужасно. Не пойму как вообще с таким таскбаром можно работать. А если текстовый заголовок уже есть то иконка избыточна и только засоряет место на экране.

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

Переключения софта мышкой нет,

Кстати я тут вспомнил как делал таскбар для текстового оконного менеджера (не юниксы, «прошивка» для x86-роутер-файрволла с полугуи интерфейсом управления), мышки там не было, и экран 80х43/50 не располагал к трате места, но таки придумал удобный способ: по нажатию Alt поверх открытых окон слева сверху появляется попап со списком окон и хоткеями - 1 2 3 .. 0 Q .. P A .. не помню докуда, соответственно Alt-1 Alt-2 итд получалось для переключения и активное окно переставляется вверх списка. Отпускаешь Alt - фокус возвращается выбранному окну. Тоже вполне удобно, безо всяких мышек и даже без сплагиченного у винды Alt-(или-другое)-Tab. Для иксов не подходит т.к. Alt- и приложениям нужен.

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

Вот лежу я на кровати, рядом на стуле ноут. Левой рукой тянуться до клавы очень далеко, а правая на мышке. Мне гораздо удобнее работать мышкой. Благо все для этого есть, включая жесты на любые случаи.

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

А текст как вводить? Потому что если его вводить не надо то речь походу либо про просмотр либо веба в браузере либо чего-то в медиаплеере. То есть запускать ничего не надо, всё уже запущено.

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

Браузер, видеоплеер, вовка. Изредка переключение на дельфин и работа мышкой там. Вполне нормально работается мышкой.

Все это тайлингом рядом друг с другом строго на своих местах, не перекрывая друг друга.

А если надо печатать, тут уже или тянуться до клавы кратенько или ставить ноут на себя надо.

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

Тайлинг это про переключение. Оно у меня (мышкой) есть (кнопками на таскбаре).

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

Нет, там мелкие на багзилле, в статусе «New», причём один из них - на чужой баг (не я репортил) и кто-то из @freebsd.org там в комментах считает что фикс хороший, но всё равно почему-то никто его не рассматривает для принятия.

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=262172

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=262179

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=262215

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=262273

Впрочем планирую скоро ещё один или два, там уже побольше будут и может на ревью. Хотя я не знаю какой там порядок рассмотрения вообще.

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

Глянул только баг 262172. Не смотрят потому, что:

  1. Нет ключевого слова «patch», а нужно так как патч есть. Снаружи это просто баг который надо проверять, фиксить и т.п.

  2. Самих файлов с патчами куча - их все проигнорят так как 10.4, 11.4, 12.3 не поддерживаются, а в 13-stable сразу никто накатывать не будет. Обычно патчат current (который сейчас 14 уже), а из него MFC (merge from current) через пару недель/дней в зависимости от важности. Лучше приложить один патч который без проблем можно будет применить на main прямо сейчас.

  3. Сами патчи с префиксами в путях никто руками править не будет. Лучше сразу ревью открыть через веб интерфейс как описано тут. Патч должен быть сделан из корня с полным контекстом. Как сделаете, то укажите dsl_mcusim.org где нибудь там чтобы мне уведомление свалилось.

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

Ну ясно, вобщем-то патчи, подходящие для current, там везде есть, но видимо и правда об этом в недостаточно очевидной форме сообщено. Хотя я где-то вроде видел сообщение что теперь ключевое слово patch не нужно и оно само где-то показывает их наличие.

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

На каком железе?

I just work here, man.

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

Должно быть хорошо, когда заводика не три, а сто три? Каждому найдётся заводик по душе.

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

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

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

вовсе нет. линукс развивают корпорации и они делают его таким, каким по опросам их потенциальных клиентов он должен быть. при чем здесь ты и твои хотелки вообще? я изначально брал линукс, как вот такую вот платформу для построения систем. но с заменой концепции UNIX-way на systemd-way, конструктор стал уже не таким удобным.

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

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

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

Речь, вроде, шла об интерфейсе. Что у тебя в нём отобрали корпорации? Консоль, Midnight Commander, EMACS, тайловые и не очень WM, концепцию рабочих столов, Conky? Ты всё ещё можешь сделать Linux таким, каким он должен выглядеть у тебя, насрав на копрорации.

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