Спустя почти два года с момента прошлой значительной версии представлен релиз операционной системы NetBSD 6.0. Новая версия примечательна интеграцией нового пакетного фильтра NPF, улучшением работы на многоядерных системах, новыми и обновлёнными драйверами, а также расширением возможностей портов Xen и MIPS.
NetBSD является рекордсменом по числу поддерживаемых аппаратных платформ. Релиз NetBSD 6.0 официально доступен в сборках для 57 системных архитектур и 16 различных семейств CPU. Отдельно выделены 8 первично поддерживаемых портов, составляющих ядро стратегии развития NetBSD: amd64, evbarm, evbmips, evbppc, hpcarm, i386, sparc64 и xen. Остальные 49 портов, связанных с такими CPU, как alpha, hppa, m68010, m68k, sh3, sparc и vax, отнесены ко второй категории, т.е. ещё поддерживаются, но уже потеряли актуальность или не имеют достаточного числа заинтересованных в их развитии разработчиков.
Ключевые улучшения NetBSD 6.0:
В состав включён новый пакетный фильтр NPF, вобравший в себя лучшие черты PF и IP Filter.
Особенности NPF:
Параллельная обработка пакетов в многопоточном режиме с минимальным числом блокировок позволяет добиться максимальной производительности на современных многоядерных процессорах;
Гибкие средства фильтрации трафика с учетом состояния соединений. NPF снабжён мощным и высокопроизводительным движком инспектирования пакетов, основанным на использовании интерпретатора байткода и идеях, реализованных в интерфейсе BPF (Berkeley Packet Filter). Попадание пакетов под правила обеспечивается через формирование набора RISC-подобных инструкций и CISC-подобных команд для выполнения типовых операций;
Поддержка нескольких режимов трансляции адресов, включая NAPT (несколько внутренних адресов могут быть привязаны к одному реальному IP с разделением по номеру порта), ALG (Application-Level Gateway, учет особенностей прикладных протоколов при организации трансляции адресов, например, позволяет работать через NAT ftp, p2p, h.323, sip и т.п.), двунаправленный NAT, форвардинг портов.
Поддержка пересборки пакетов, очистки отдельных полей в заголовках пакетов, выборочного блокирования ICMP и TCP RST пакетов;
Возможность ведения лога пакетов, настраиваемого через систему фильтров;
Использование эффективных хэш-таблиц и красно-черных деревьев для ускорения выборки элементов;
Похожий на PF и IP Filter синтаксис файла конфигурации и типовой набор утилит;
Легкость разработки и подключения дополнений, расширяющих базовую функциональность. Функции NPF могут расширяться через загрузку дополнительных модулей, обращение к которым может производиться непосредственно из правил фильтрации. Для создания модулей и расширений подготовлен специальный API.
Поддержка TLS (Thread-Local Storage), техники использования изолированной локальной памяти для нитей внутри одного процесса для ухода от использования блокировок при доступе к общим ресурсам.
Поддержка LVM (Logical Volume Manager), менеджера логических томов, используемого в Linux. Поддерживаются все базовые операции с логическими разделами, включая возможность записи данных;
Полностью переписана подсистема работы с дисковыми квотами. Информация о квотах теперь сохраняется в новом формате и интегрирована с метаданными FFS. Для перестроения квот больше не требуется выполнять quotacheck, так как все необходимые действия совершаются при выполнении fsck_ffs. Для включения новой реализации квот требуется пересборка ядра с опцией QUOTA2;
Новая подсистема для работы с Flash-накопителями и NAND-контроллерами. В состав включена реализация новой файловой системы CHFS, специально созданной для Flash-накопителей.
Поддержка протокола MPLS (Multiprotocol Label Switching);
Расширены возможности порта Xen: для ядер Xen domU добавлена поддержка SMP; обеспечена возможность перехода гостевой системы в спящий режим; добавлена поддержка проброса PCI-устройств; добавлен драйвер balloon, который позволяет динамически ограничивать объём доступной оперативной памяти и передавать неиспользуемую память окружениям, нуждающимся в памяти.
Улучшена поддержка платформы MIPS: добавлена поддержка SMP и 64-разрядных процессоров (ABI O32, N32, N64), поддержка использования расширения DSP v2 ASE, поддержка процессоров NetLogic/RMI и Loongson, а также новых одночиповых систем;
Улучшена поддержка SMP для платформы PowerPC, добавлена поддержка процессоров Book E Freescale MPC85xx (e500 core);
В порты для архитектуры ARM добавлена поддержка процессоров Cortex-A8 и различных SoC, а также начальная поддержка Raspberry Pi;
Для платформы i386 добавлена поддержка PAE (Physical Address Extension);
Используемый для учёта времени тип time_t теперь определяется 64-разрядным значением (решена проблема 2037 года);
Улучшена поддержка файловых систем UDF и Ext2. В экспериментальном режиме импортирован код ZFS. Добавлена поддержка загрузки с GPT-разделов (GUID Partition Table). Для платформ i386 и amd64 инсталлятор теперь по умолчанию предлагает UFS2;
Добавлена поддержка нового оборудования, в том числе различных аппаратных сенсоров, проводных и беспроводных адаптеров (Broadcom AirForce / Apple Airport Extreme, Atheros AR9100U, AR813x/AR815x, SMSC LAN9118, Conexant/Intersil PrismGT SoftMAC USB IEEE 802.11b/g, Agere/LSI ET1310/ET1301, Broadcom BCM5709 и BCM5716 ), новых RAID-контроллеров LSI, SATA и SCSI-контроллеров.
NetBSD 6.0
Спустя почти два года с момента прошлой значительной версии представлен релиз операционной системы NetBSD 6.0. Новая версия примечательна интеграцией нового пакетного фильтра NPF, улучшениеТакже по теме: