The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Отчёт о развитии FreeBSD за четвёртый квартал 2015 года"
Отправлено opennews, 08-Фев-16 18:26 
Доступен (https://lists.freebsd.org/pipermail/freebsd-announce/2016-Fe...) отчёт о развитии проекта FreeBSD с октября по декабрь 2015 года.

Основные достижения:


-  
Система

-  Началась (http://bsdimp.blogspot.com/2016/01/details-on-coming-automat...) работа по добавлению в ядро средств для автоматической загрузки модулей, необходимых для работы оборудования, для которого отсутствуют загруженные драйверы. На основании информации в модулях построена карта для сопоставления драйверов и устройств PC Card, USB и PCI, которая сохранена в отдельном файле. После доведения проекта до конца пользователю будет предоставлена возможность загрузки минимального ядра, аналогичного сборке в конфигурации MINIMAL, с динамической загрузкой всех драйверов устройств по мере необходимости;
-  Во FreeBSD-HEAD принят переработанный механизм вытеснения процессов в ситуации нехватки виртуальной памяти в системе (OOM, Out of Memory). В отличие от старого обработчика OOM, оперирующего текущим состоянием виртуальной памяти (снижение свободного места в разделе подкачки и небольшой остаток свободных страниц памяти), новый механизм пытается анализировать динамику изменения потребления памяти, принимая решение о принудительном завершении процессов только в случае реальной угрозы возникновения блокировки. Кроме того, изменён алгоритм выбора процесса для принудительного закрытия, который теперь не ограничивается учётом числа элементов в таблицах распределённых станиц памяти, но и пытается оценивать реальное число страниц, которое высвободится в результате принудительного завершения процесса, что позволяет более точно выбирать потенциально проблемные процессы;
-  Во FreeBSD 11 принята новая реализация системного вызова sendfile (https://www.freebsd.org/cgi/man.cgi?query=sendfile&sektion=2), предназначенного для организации прямой передачи данных между  файловым дескриптором и сокетом.  Новая реализация разработана компаниями  Netflix и NGING и отличается (http://www.slideshare.net/facepalmtarbz2/new-sendfile-in-eng...) значительным увеличением производительности - файл теперь можно направлять в сокет в асинхронном режиме без ожидания завершения чтения с диска. Ранее при использовании флага O_NONBLOCK не блокировался только сокет, но продолжало блокироваться чтение с диска. В новой реализации можно асинхронно отправлять и читать данные. Реализация полностью обратно совместима с ранее доступными приложениями и может использоваться в качестве прозрачной замены, не требуя пересборки. Кроме увеличения производительности в новой реализации также добавлены новые флаги, предоставляющие дополнительный контроль над отправкой данных. Например, флаг SF_NOCACHE запрещает кэширование передаваемых данных, а при помощи макроса SF_READAHEAD() можно установить размер буфера упреждающего чтения;
-  В рамках проекта relaunchd (https://github.com/mheily/relaunchd) ведётся работа по  созданию порта системного менеджера Launchd (OS X), пригодного для использования во FreeBSD. В  единый демон relaunchd сведены функции процесса init, системы стартовых скриптов rc.d и init.d, демонов inetd, atd, crond, и watchdogd. Из дополнительных функций отмечается управление запуском программ в jail-окружениях, передача дескрипторов сокетов их окружения хоста в jail, запуск программ в предопределённом sandbox-е capsicum. Формат файлов конфигурации основан на UCL, что позволяет определять параметры заданий в JSON и других форматах, поддерживаемых UCL. Relaunchd уже содержит всю базовую функциональность Launchd и добавлен в дерево портов, но пока позиционируется как экспериментальная разработка. Из планов по дальнейшему развитию отмечается поддержка перезапуска заданий в случае их краха, эмуляция cron, поддержка отслеживания изменений файлов и директорий, доведение до финального вида механизмов работы с jail;

-  Продолжена разработка системного менеджера nosh (http://homepage.ntlworld.com./jonathan.deboynepollard/Softwa...), включающего набор средств для инициализации, загрузки, ведения логов, управления фоновыми процессами и терминалами. Nosh позиционируется как замена систем BSD init и NetBSD rc.d, вобравшая в себя черты таких систем, как Solaris SMF, daemontools-encore, UCSPI и  средств IBM AIX по раздельному управлению системой и сервисами. Предоставляется набор прослоек для использования команд, ставших привычных в других системах, импорта существующих конфигурационных файлов /etc/fstab, /etc/rc.conf, /etc/rc.local и /etc/ttys, а также настроек изолированных окружений Jail и PC-BSD Warden.


Доступны возможности для определения порядка запуска сервисов, организации зависимостей между сервисами, обеспечения параллельного выполнения сервисов, автоматической ротации логов, отслеживания работы сервисов и применения kevent для обеспечения событийно-ориентированного параллелизма. Система переносимая, не зависит от особенностей ядра и может применяться как в BSD-системах, так и в Linux.


С момента публикации прошлого отчёта в Nosh реализованы инструменты для экспорта логов cyclog/multilog в удалённые обработчики логов, поддерживающие RFC 5426 (например, logstash). В подсистему работы с виртуальным терминалом добавлена возможность прямого обращения к USB-устройствам ввода, без задействования sysmouse. Добавлена полная поддержка систем, на которых имеются только разделы ZFS. Обеспечено преобразование настроек приоритетов из unit-файлов systemd для использования с rtprio/idprio. Добавлена поддержка mfs для /tmp.  Для полной замены rc.d из 157 отмеченных в плане задач остаётся выполнить 27.

-  Разработчики FreeBSD рассматривают возможность замены подсистем init и rc на более современную систему инициализации и управления сервисами, которая позволит сократить время загрузки благодаря распараллеливанию запуска сервисов, повысить надёжность работы за счёт автоматического перезапуска в случае сбоя, упростить управление зависимостями через такие техники как активация по обращению к сокету, обеспечить возможность запуска сервисов по мере необходимости и завершать их при длительной неактивности, увеличить безопасность сократив число компонентов, работающих под пользователем root. В настоящее время решение по замене пока не принято. На звание нового системного менеджера претендуют (http://www.daemonspawn.org/2016/01/a-comparison-of-alternati...) три проекта: relaunchd (https://www.opennet.ru/opennews/art.shtml?num=38692) (написанная с нуля реализация API launchd), развиваемый проектом NextBSD  порт launchd (https://www.opennet.ru/opennews/art.shtml?num=42864) из OS X (реализован через прослойку с реализаций механизма межпроцессного взаимодействия микроядра Mach) и nosh, оригинальная разработка по мотивам launchd, systemd и других систем;


-  Переработана (https://reviews.freebsd.org/rS292895) реализация кэша vnode, проведена оптимизация кода для распределения и чистки vnode;
-  В sysctl добавлена (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203918) поддержка фиксированных типов (знаковые и беззнаковые 8-, 16-, 32 и 64-разрядные целые числа). Для отображения информации о типах в утилиту sysctl добавлена новая опция "-t";
-  Близится к завершению проект миграции FreeBSD на     инструментарий (http://elftoolchain.sourceforge.net) работы с исполняемыми файлами в формате ELF, эквивалентный набору GNU Binutils, но распространяемый под лицензией BSD. В настоящее время уже подготовлены BSD-версии библиотек libelf и libdwarf, а также утилит addr2line,  nm, readelf, size,  strings, as, ld и objdump и  strip (elfcopy). Первый релиз запланирован на первый квартал 2016 года, из оставшихся задач отмечается добавление поддержки PE/COFF в elfcopy и адаптация системы сборки;
-  Для платформ  amd64 и arm64 по умолчанию задействован отладчик LLDB (https://wiki.freebsd.org/lldb), развиваемый (https://www.opennet.ru/opennews/art.shtml?num=26907) проектом LLVM. Из ещё не решённых задач отмечается реализация возможности использования LLDB для отладки разделяемых библи...

URL: https://lists.freebsd.org/pipermail/freebsd-announce/2016-Fe...
Новость: http://www.opennet.ru/opennews/art.shtml?num=43833

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру