После более двух лет разработки состоялся релиз операционной системы NetBSD 7.0, в котором реализована очередная порция новых возможностей. Для загрузки подготовлены установочные образы, размером 410 Мб.
Релиз NetBSD 7.0 официально доступен в сборках для 58 системных архитектур
и 16 различных семейств CPU. Отдельно выделены 8 первично
поддерживаемых портов, составляющих ядро стратегии развития NetBSD:
amd64, i386, evbarm, evbmips, evbppc, hpcarm, sparc64 и xen. Остальные
50 портов, связанных с такими CPU, как alpha, hppa, m68010, m68k, sh3,
sparc и vax, отнесены ко второй категории, т.е. ещё поддерживаются, но
уже потеряли актуальность или не имеют достаточного числа
заинтересованных в их развитии разработчиков.
Ключевые улучшения NetBSD 7.0:
- Возможность
использования языка Lua для написания динамически загружаемых
расширений к ядру, изменяющих поведение существующих систем или
создающие новые возможности. В том числе при помощи Lua-дополнений
можно реализовать прототипы новых алгоритмов работы планировщика задач,
механизмы QoS, расширенные обработчики сетевых пакетов, изощрённые
сетевые фильтры, собственные правила управления энергопотреблением
процессора и драйверы устройств. При этом, выполняемые в пространстве
ядра скрипты не имеют прямого доступа к памяти ядра, изолированы в
отдельной виртуальной машине Lua и взаимодействуют с подсистемами ядра
через специальные биндинги. Перед загрузкой Lua-дополнения выполняется
стадия формирования байткода, на которой выявляются и блокируются
опасные конструкции, таких как бесконечное зацикливание. Для запуска
скриптов в пространстве ядра из окружения применяется утилита luactl.
- Поддержка мультипроцессорности для процессоров на базе врхитектуры ARM;
- Портирование из Linux работающих на уровне ядра драйверов DRM/KMS для GPU Intel и AMD Radeon;
- Поддержка распараллеливания USB-стека на многопроцессорных системах;
- Значительные улучшения пакетного фильтра NPF:
- Поддержка подключения BPF-фильтров с применением по умолчанию JIT-компиляции;
- Возможность создания динамических правил;
- Поддержка статического NAT (не учитывающего состояние соединений)
- Поддержка трансляции сетевых префиксов IPv6-to-IPv6 (NPTv6) в соответствии с RFC 6296;
- Поддержка таблиц на базе хэшей CDB (O(1)-выборка без блокировок).
- Представлен демон blacklistd, интегрируемый с пакетным фильтром и реализующий идею динамического межсетевого экрана для защиты от попыток взлома локальных сервисов, таких как ssh, named и ftpd;
- Возможность создания именованных wedge-разделов на диске;
- В качестве компилятора по умолчанию задействован GCC 4.8.4 с поддержкой стандарта C++11;
- Опционально доступен распространяемый под лицензией BSD сборочный инструментарий, основанный на LLVM/Clang 3.6.1, compiler_rt, libc++ и libcxxrt;
- Поддержка дисковых разделов GPT в SysVinit (через расширенное меню управления разделами);
- Новый порт epoc32 для ARM-платформы, используемой в PDF Psion EPOC;
- Поддержка новых ARM-плат:
- Raspberry Pi 2
- ODROID-C1
- BeagleBoard, BeagleBone, BeagleBone Black
- MiraBox
- Allwinner A20, A31: Cubieboard2, Cubietruck, Banana Pi и т.п.
- Freescale i.MX50, i.MX51: Kobo Touch, Netwalker
- Xilinx Zynq: Parallella, ZedBoard
- Существенное расширение поддержки различных видов сетевых адаптеров, систем хранения и иных видов устройств;
- Новый лимит RLIMIT_NTHR для ограничения числа процессов в привязке к пользователю;
- Поддержка системных вызовов sendmmsg(2), recvmmsg(2), fdiscard(2) и posix_fallocate(2);
- Из OpenBSD перенесена порция sysctls для избежания DoS-атак на IPv6: net.inet6.ip6.neighborgcthresh = 2048, net.inet6.ip6.maxifprefixes = 16, net.inet6.ip6.maxifdefrouters = 16, net.inet6.ip6.maxdynroutes = 4096;
- Поддержка опции сокета TCP_INFO для получения информации о TCP-соединении;
- В псевдоФС ptyfs добавлена возможность множественного монтирования и обеспечено корректное отображения устройств в chroot-окружениях;
- В GENERIС-ядре включена по умолчанию поддержка расширенных атрибутов файлов для UFS1;
- В драйвер wd и FFS добавлена экспериментальная поддержка операции "discard" (ATA "TRIM") для SSD-накопителей;
- Расширены способы сбора энтропии для инициализации генератора псевдослучайных чисел. Добавлен драйвер viornd для формирования энтропии для виртуальных окружений QEMU, KVM и Google Compute Engine;
- Новые утилиты:
- ekermit (вместо gkermit),
- flock (установка блокировкок в shell-скриптах),
- getaddrinfo (обращение к резолверу),
- midirecord (запись MIDI),
- service (из FreeBSD),
- timeout (запуск программы с ограничением времени её выполнения);
- Обновлены версии сторонних программ, поставляемых в базовой системе: BIND 9.10.2-P4, IPFilter 5.1.1, LLVM 3.6.1, OpenLDAP 2.4.39, OpenSSH 6.8, OpenSSL 1.0.1p, SQLite 3.8.3.1, atf 0.20, binutils 2.23.2, byacc 20130304, bzip2 1.0.6, dhcp 4.3.0, dhcpcd(8) 6.7.1, file 5.19, flex 2.5.39, gcc 4.8.4, gdb 7.7.1, kerberos Heimdal-1-5-branch, less 458, libevent 2.0.22-stable, libpcap 1.5.2, lua 5.3.0, mDNSResponder 258.14, ntp 4.2.8p2, openpam 20140912 (Ourouparia), openresolv 3.6.0, pcc 1.1.0.DEVEL 20120325, pppd 2.4.7, pigz 2.3.1, postfix 2.11.4, tcpdump 4.5.1, tmux 1.9a, tzdata 2015f, wpa_supplicant/hostapd 2.4.
Комментариев нет:
Отправить комментарий