Михаил Сгибнев (http://www.dreamcatcher.ru/) любезно предоставил перевод списка новшеств появившихся в NetBSD 2.0:
<h3>Ядро:
</h3>
- Портировано на новые платформы, включая amd64, evbsh5 и xen.
- Добавлена собственная поддержка потоков, базирующаяся на технологии
задействования планировщика (scheduler activations). Теперь приложения, которые были созданы с учетом спецификации потоков POSIX, могут использовать все преимущества высокопроизводительной реализации потоков NetBSD.
- Добавлена поддержка технологии kqueue - инфраструктуры извещений о событиях в ядре, представляющей собой точные и эффективные механизмы уведомлений о происходящих событиях. На данный момент перечень отслеживаемых событий включает в себя изменения, происходящие с сокетами, файлами, каталогами, файлами fifo, каналами, терминальными и другими устройствами. Отслеживаются также сигналы и состояния процессов. Поддержка инфраструктуры kqueue(2) имеется для всех файловых систем с возможностью перезаписи (за исключением Coda) и всех драйверов устройств, поддерживающих системный вызов poll(2).
- Эмуляция Linux доработана таким образом, что NetBSD теперь поддерживает
последние версии Sun JDK/JRE для Linux. Тестирование показало, что они работают ничуть не хуже, чем под управлением Linux.
- На многих платформах в NetBSD 2.0 по умолчанию стоит запрет на выполнение кода из областей памяти, отведенных под данные и стек, что существенно затрудняет реализацию атак, использующих переполнение буферов. Если в той или иной архитектуре имеется аппаратное различие доступа к данным и доступа к исполняемому коду, то в вызове mmap(2) для всех таких систем в NetBSD 2.0 будет использован флаг PROT_EXEC, хотя и необязательно со степенью гранулярности в одну страницу. В тех случаях, когда степень гранулярности
системы больше, и если в большом блоке имеется хоть одна страница, которая
помечена, как содержащая исполняемый код, то и целый блок помечается, как
исполняемый. В противном случае, весь блок будет не исполняемым.
- Порт i386 теперь имеет поддержку SMP. Благодаря программной реализации ACPI компании Intel, NetBSD/i386 также имеет новую инфраструктуру ACPI и управления электропитанием.
- В порт macppc добавлена поддержка SMP. Список поддерживаемых компьютеров был расширен новыми моделями G4.
- Поддержка SMP добавлена в порт sparc.
- Новая обобщенная инфраструктура i2c с поддержкой режима bit bang и
интеллектуальных контроллеров.
- Таблица состояний ядра sysctl(9) теперь строится динамически и не использует статические привязки.
- Добавлена поддержка новых контроллеров SATA, для которых теперь существует отдельный драйвер - satalink(4). Вся поддержка SATA была перенесена в него.
<h3>Сеть:
</h3>
- ipf(8) обновлен до версии 4.1.3.
- В tcp(4) добавлена поддержка обнаружения состояния черной дыры при
определении MTU на маршруте (т.е. драйвер отключает определение MTU, если
соединение было разорвано).
- Порядок сложности вставки в буфер сокета теперь составляет O(C). Это дает
существенный прирост в производительности для приложений, которые для сокетов используют большие размеры буферов.
- В драйвер wi(4) добавлена поддержка режима Host-AP, что позволяет устройствам на базе плат Intersil Prism2/2.5/3 выступать в качестве точек доступа для сетей 802.11.
- В драйвер bridge(4) и утилиту brconfig(8) добавлена поддержка ipf(8).
- Для увеличения производительности алгоритм выделения портов теперь использует хэш-таблицу, а не связный список.
<h3>Файловая система:
</h3>
- Файловая система UFS2 была портирована из FreeBSD в NetBSD. UFS2 представляет собой развитие FFS, использующее 64-битную адресацию блоков и расширенные структуры для хранения информации о файлах. Следует особо подчеркнуть, что бъем раздела UFS2 теперь не ограничивается 1T.
- Посредством драйвера криптографических дисков (cgd(4)) целые диски и разделы, включая раздел подкачки, могут быть зашифрованы с использованием таких стойких алгоритмов, как AES (Rijndael) и Blowfish.
<h3>Безопасность:
</h3>
- Добавлена системная утилита systrace. С помощью инфраструктуры, которую
предоставляет systrace(4), применяя политики доступа к системным вызовам,
возможно отслеживать и контролировать использование системы прикладными
программами. Так, systrace(1) может быть использована для отслеживания попыток доступа к системе со стороны не безопасных программ. Далее, используя systrace можно защитить систему от программных ошибок (например, переполнений буферов), ограничивая права процессов, запущенных как демоны (аналог jail). Свойство повышения привилегий, которым обладает systrace, дает
возможность полностью избежать необходимости запуска больших и не безопасных программ от имени суперпользователя root в тех случаях, когда всего один илидва системных вызова требуют таких прав.
- Добавлена поддержка технологи Verified Exec. Прежде чем произвольные программы или скрипты будут выполнены, система сверяет их дайджест с собственной хэш-таблицей. Таким образом можно предотвратить запуск программ или скриптов, которые были модифицированы или некорректно установлены. Verified Exec также можно использовать для ограничения интерпретаторов скриптов таким образом, чтобы они могли исполнять исключительно авторизованные скрипты и/или только в
не интерактивном режиме.
<h3>Административные и пользовательские утилиты:
</h3>
- Вся система теперь скомпонована динамически (включая содержимое каталогов /bin и /sbin).
- Утилиты для восстановления системы находятся в каталоге /rescue. Туда включены компактные статически скомпонованные версии различных программ, которые могут понадобиться для восстановления (включая /rescue/init и /rescue/sh).
- GPL версии различных инструментов, включая gzip(1) и awk(1), были заменены их эквивалентами, распространяющимися не по лицензии GPL.
<h3>Разное:
</h3>
- В NetBSD 2.0 используется новый набор инструментов на базе gcc 3.3.3 и binutils 2.14. В gcc версии 3.3.3 добавлена поддержка ряда новых процессоров и
существенно расширены возможности компиляции для i386 и других платформ.
Поддержка новых архитектур в gcc 3.3.3 сделала возможным перенос NetBSD на еще большее количество платформ.
- Дистрибутивы NetBSD 2.0 для всех аппаратных платформ, которые поддерживают систему X Window, поставляются с исполняемыми модулями системы X11 на базе XFree86 4.4.0.
- Обновлено почти все ПО сторонних разработчиков, поставляемое вместе с базовой системой, до следующих стабильных версий:
<ul>
- bind 8.3.7
- binutils 2.14
- cvs 1.11.17
- diffutils 2.8.1
- file 4.08
- gcc 3.3.3
- gdb 5.3
- grep 2.5.1
- groff 1.19
- less 381
- openssl 0.9.7d
- postfix 2.0.19
- sendmail 8.12.11
- tcpdump 3.7.1
- texinfo 4.6
</ul>
- В коллекцию пакетов pkgsrc добавлено множество новых программ, включая
последние версии систем управления рабочим столом GNOME, KDE и Xfce, а также OpenOffice.org, Perl, Apache и других. Расширена поддержка на множество новых платформ, включая Darwin, FreeBSD, IRIX, Linux, OpenBSD и Solaris.
- Благодаря новому легко портируемому комплекту первоначальной установки (bootstrap kit), стало гораздо проще перенести коллекцию пакетов на новые системы (такие как AIX, BSD/OS и HP-UX). На момент написания этого
анонса, в каталоге pkgsrc находится более 5000 программ сторонних
разработчиков.
URL: http://www.netbsd.org/Releases/formal-2.0/NetBSD-2.0.html
Новость: http://www.opennet.dev/opennews/art.shtml?num=4762