Увидела свет операционная система DragonFly BSD 4.0
26 ноября 2014 года
![](http://upload.wikimedia.org/wikipedia/commons/thumb/2/27/Wikinews-logo-ru.svg/300px-Wikinews-logo-ru.svg.png)
Представлен релиз DragonFlyBSD 4.0, операционной системы с гибридным ядром, созданной в 2003 году с целью альтернативного развития ветки FreeBSD 4.x. Из особенностей DragonFly BSD можно выделить распределённую версионную файловую систему HAMMER, поддержку загрузки "виртуальных" ядер системы как пользовательских процессов, возможность кэширования данных и мета-данных ФС на SSD-накопителях, учитывающие контекст вариантные символические ссылки, возможность заморозки процессов с сохранением их состояния на диске, гибридное ядро, использующее легковесные потоки (LWKT).
Выпуск 4.0 не является кардинальным, а продолжает традицию использования четных десятичных цифр для нумерацию стабильных версий (3.6, 3.8, 4.0 и т.д.). Среди ключевых изменений выпуска DragonFly BSD 4.0 отмечается прекращение выпуска 32-разрядной версии операционной системы, отныне релизы смогут работать только на 64-разрядных системах. Из улучшений отмечается добавление в драйвер i915 поддержки графических чипов Intel Haswell, поддержку 3D-ускорения, проведение оптимизации производительности сетевого стека в условиях высокой нагрузки, поддержка распараллеливания операций на разных CPU в PF.
Для загрузки доступен 64-разрядный установочный образ размером 198 Мб для CD и USB Flash. Выпуск расширенного образа размером 1 Гб с десктоп-окружением для установки на DVD и USB Flash задерживается. Сформированный образ может работать в Live-режиме, что позволяет оценить работу DragonFly BSD без установки на диск.
Основные улучшения, добавленные в DragonFlyBSD 4.0:
- Ядро
- Добавлены новые файлы устройств /dev/upmap и /dev/kpmap, для прямого обращения к памяти ядра и процессов, без выполнения операций промежуточного обращения через системные вызовы. Через файл /dev/upmap можно осуществить полный доступ к памяти отдельных процессов, а через /dev/kpmap предоставлен доступ только на чтение ко всей памяти ядра и пространства пользователя. Новая возможность уже задействована в системных вызовах getpid(2), setproctitle(3) и clock_gettime(2). Когда число поддерживающих upmap/kpmap системных вызовов превысит десяток, данная возможность будет включена по умолчанию;
- Новый USB-стек USB4BSD, созданный на основе портирования кода из FreeBSD 8 и примечательный поддержкой хост-контроллеров xhci (USB 3.0) и расширением совместимости с USB-устройствами, переведён на новую систему блокировок, эффективную для многоядерных систем (MPSAFE, без привязки к глобальной блокировке);
- Число поддерживаемых процессорных ядер увеличено с 63 до 256;
- Графические драйверы
- Существенно улучшена реализация драйвера drm/i915, используемого для переключения видеорежимов на уровня ядра для видеокарт Intel. Если раньше драйвер портировался из FreeBSD, то теперь его код основан на коде из ядра Linux (3.8.13). Поддержка KMS необходима для использования свежих версий видеодрайверов Intel, в которых была удалена поддержка переключения видеорежимов на пользовательском уровне (UMS) и оставлена только поддержка KMS (Kernel Mode Setting) для переключения видеорежимов на уровне ядра. Для обеспечения работы нового драйвера drm/i915 в ядро DragonFly BSD была добавлена поддержка многих структур данных и Linux API, что позволило упростить импорт кода из Linux. Как следствие, в новой версии существенно увеличилась стабильность и добавлена поддержка Haswell GPU. Драйвер drm избавлен от глобальной блокировки (теперь помечен как MPSAFE);
- Порция исправлений внесена в драйвер drm/radeon и менеджер видеопамяти drm/ttm. По умолчанию задействован работающий на уровне ядра KMS-драйвер radeon, UMS-драйвер xf86-video-ati оставлен в качестве опции.
- Для драйверов i915 и radeon обеспечена поддержка аппаратного ускорения для OpenGL. Улучшена реализация программного рендеринга, за счёт задействования векторных процессорных инструкций, таких как AVX;
- Прекращена поддержка устаревших drm-драйверов mach64, mga, r128, savage, sis и tdfx, которые уже три года не поддерживаются в Mesa;
- Сетевая подсистема
- В пакетный фильтр PF добавлена поддержка распараллеливания операций на разных CPU;
- Увеличена производительность UDP-стека за счёт обеспечения распараллеливания выполнения некоторых его частей на разных CPU. Прирост производительности на сервере с CPU Intel Core i3-3770 и сетевым адаптером 10Gb Intel 82599ES составил 19%.
- Увеличена производительность операций маршрутизации и обработки ARP, IP, IGMP и TCP;
- Из FreeBSD импортирован драйвер urndis, позволяющий орагнизовать работу точки доступа через USB (USB tethering) для использование смартфона в качестве виртуальной сетевой карты;
- Из FreeBSD импортирован драйвер if_lagg, предоставляющий средства для агрегирования сетевых интерфейсов (несколько сетевых интерфейсов объединяются в один виртуальный);
- C FreeBSD синхронизирован код драйверов iwn и ath. Драйвер re переведён на MPSAFE-блокировки;
- Системы хранения
- Добавлен драйвер mrsas с поддержкой LSI Thunderbolt и других свежих RAID-контроллеров (Invader и Fury);
- Драйверы ciss(4), isp(4), mfi(4), mpt(4), mrsas(4) и twa(4) помечены как MPSAFE;
- Безопасность
- Добавлена поддержка алгоритма симметричного шифрования ChaCha, созданного Дэниэлом Бернштейном (Daniel J. Bernstein) для обеспечения наивысшей безопасности при наименьших вычислительных затратах. Алгоритм использован в новом генераторе псевдослучайных чисел на основе алгоритма Fortuna;
- Добавлен sysctl для выбора типа генератора псевдослучайных чисел, обеспечивающего работу /dev/random. Доступно три варианта: csprng (Fortuna), ibaa (старый генератор IBAA) и mixed (использование обоих генераторов со смешиванием результата через XOR). По умолчанию используется mixed;
- Пользовательские приложения
- Включены наработки, необходимые для сборки базовой системы с использованием компилятора Clang (Clang пока не входит в состав базовой системы, но будет включен в следующем выпуске);
- Обновлены версии сторонних программ, поставляемых в базовой системе: CPICA 20140828, ftp 1.205 из NetBSD, GCC 4.7.4,
GNU grep 2.20, Libedit 2014-06-20, OpenSSL 1.0.1j, wpa_supplicant 2.1, XZ 5.0.7;
- Обновлена база часовых поясов (tzdata2014i);
- По умолчанию задействован набор утилит binutils 2.24;
- В dhclient перенесены улучшения, подготовленные проектом OpenBSD;
- Библиотеки libradius и libfetch синхронизированы с FreeBSD;
- В libthread_xu добавлена поддержка семантики POSIX;
- В sed добавлена поддержка опции "-r" для увеличения совместимости с GNU sed;
- В systat добавлены опции -pftop и -netbw;
- В rcrun добавлена функция rcreload.
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.