Отчет о состоянии FreeBSD за период с апреля по сентябрь 2009 г

12 октября 2009 года

Представлен отчет о развитии проекта FreeBSD за второй и третий кварталы 2009 года.

Основные события:

  • В рамках Google Summer of Code для FreeBSD студентами было выполнено 18 проектов, из которых можно отметить:
  • Создание распространяемой под лицензией BSD библиотеки iconv, основанной на наработках из проекта NetBSD;
  • Замена стандартных GNU утилит для обработки текстовых данных на аналоги, распространяемые под лицензией BSD. BSD-вариант утилиты grep доведен до рабочего состояния, но еще требуется проведение оптимизации производительности и реализации недостающий функций в библиотеке для обработки регулярных выражений. С нуля переписана утилита sort. Утилиты bc/dc портированы из OpenBSD;
  • Ведется работа по улучшению поддержки файловой системы Ext2fs и переписыванию частей кода, распространяемых под лицензией GPL. Из планов можно отметить оптимизацию Ext2 для многопроцессорных систем и реализацию возможностей Ext4;
  • Разработка библиотеки libnetstat с реализацией API для выполнения функций сетевого мониторинга, оперирующих статистикой сокетов, сетевых интерфейсов, mbuf, bpf, данными о маршрутизации и т.п. Для наглядной оценки трафика подготовлена top-подобная утилита nettop;
  • Создана шифрованная файловая система pefs, подробности можно почерпнуть из опубликованного на прошлой неделе анонса.
  • Проекты:
  • В рамках проекта BSD# ведется портирование Mono с реализацией технологии .NET. В настоящее время Mono 2.2 помещен в дерево портов (lang/mono). Для организации хостинга ASP.NET приложений подготовлены порты www/xsp и www/mod_mono, язык CLI можно установить из порта lang/boo, Visual Basic .NET Framework для Mono размещен как lang/mono-basic, а среда разработки MonoDevelop представлена как devel/monodevelop;
  • Совместно с разработчиками LLVM продолжается адаптация компилятора clang для сборки базовой системы FreeBSD. Разработка ведется в рамках специально выделенной ветки ClangBSD. В настоящий момент успешно собираются и запускаются ядра FreeBSD для архитектур i386 и amd64, а также 99% всех исходных текстов базовой системы. В будущем планируется использовать в качестве системного компилятора Clang, вместо GCC;
  • Ведется работа по созданию фреймвора для устройств с мультиплексированием с разделением времени ( TDM - Time Division Multiplexing). В настоящий момент обеспечена поддержка голосовых карт на базе Marvell RD-88F6281, Marvell Kirkwood, Discovery SoC, создан SLIC драйвер для Si3215 и DAA драйвер для Si3050. В будущем ожидается интеграция созданных драйверов с пакетом Zaptel/DAHDI;
  • Под FreeBSD портирована технология центральной диспетчеризации (GCD - Grand Central Dispatch), исходные тексты которой были открыты компанией Apple в сентябре. GCD позволяет без модификации приложения адаптировать его для многопоточного выполнения на многоядерных системах. В будущем планируется рассмотреть вопрос перевода на libdispatch некоторых стандартных приложений из состава FreeBSD. Сейчас библиотека libdispatch доступна в дереве прртов, но начиная с FreeBSD 8.1-RELEASE будет интегрирована в базовую систему;
  • Подготовлена библиотека libprocstat с API для просмотра детальной информации о процессах, включая данные о используемых файловых дескрипторах, нитях, мапинге памяти и т.п. В дальнейшем планируется перевести утилиты подобные lsof, fstat и fuser на работу поверх данной библиотеки;
  • Ведется работа над новым отладчиком, распространяемым в рамках лицензии BSD и поддерживающим протокол удаленной отладки GDB. В качестве языка программирования для разработки отладчика используется язык D;
  • В дополнение к поддержке POSIX.1e ACL для файловых систем UFS и ZFS в дерево исходных текстов FreeBSD включен код с поддержкой NFSv4 ACL. Изменения затронули утилиты setfacl(1)/getfacl, libc API и ядро. Из нерешенных проблем остается поддержка NFSv4 ACL в BSD tar и решение некоторых проблем с UFS;
  • Реализован новый консольный драйвер newcons, с поддержкой многобайтовых кодировок в консоли через ремапинг Unicode символов в представление стандартных VGA шрифтов.
  • В дерево портов (emulators/virtualbo) добавлена система виртуализации VirtualBox, обеспечивающая возможность использования FreeBSD в качестве хост-системы для запуска гостевых ОС. В настоящий момент реализована поддержка механизма аппаратной виртуализации VT-x, поддержка сетевого бриджинга, ACPI, доступа к DVD/CD, поддержка SMP и т.д.
  • Сетевая инфраструктура
  • Ведется работа по усовершенствованию TCP/IP стека FreeBSD. В частности, во FreeBSD 8.0 будет добавлена реализация поддержки RFC 3465 (Appropriate Byte Counting). Продолжается работа по интеграции SIFTR утилиты для анализа трафика и улучшению работы кода пересборки TCP-пакетов.
  • Возможность подключения через плагины различных алгоритмов для контроля перегрузки (Congestion Control) в TCP. Реализован модуль с поддержкой алгоритма CUBIC в дополнение к ранее созданным NewReno и H-TCP. В ближайшее время код планируют добавить в FreeBSD-CURRENT и бэкпортировать в 8.1-RELEASE;
  • Работа по интеграции виртуального сетевого стека (vimage). Введение виртуального сетевого стека позволит значительно расширить сетевую функциональность подсистемы jail. Так, например, появится возможность иметь для каждого jail индивидуальные настройки фаервола, маршрутизации, IPSec и обеспечить возможность их автономного администрирования. Экспериментальный прототип vimage будет включен в релиз 8.0 и достигнет готового для промышленного использования состояния к релизу 8.2;
  • Ядро
  • Поддержка файловой системы ZFS во FreeBSD объявлена готовой к промышленной эксплуатации. Ведется работа по портированию ZFS версии v19;
  • Ведется работа по интеграции поддержки hwpmc (Performance Counter, позволяет задействовать для выявления узких мест, отладки и профилирования специальных "PERFMON" регистров CPU) для архитектуры MIPS;
  • Значительный прогресс в развитии FreeBSD/sparc64, добавлена поддержка нового оборудования, исправлены ошибки;
  • Система портов.
  • Число потов достигло 20700. Бинарные пакеты в настоящее время собираются для архитектур amd64-6, amd64-7, amd64-8, i386-6, i386-7, i386-8, sparc64-7 и sparc64-8.
  • В рамках проекта

Источники править

 
 
Creative Commons
Эта статья содержит материалы из статьи «Отчет о состоянии FreeBSD за период с апреля по сентябрь 2009 г», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.