Улучшения OpenBSD, реализованные благодаря проведению "хакатона" в Эдмонтоне
Продолжаем публикацию улучшений OpenBSD, произведенных в рамках завершившейся на днях встречи разработчиков "OpenBSD Хакатон" в Эдмонтоне.- Убрана поддержка ряда режимов совместимости (HP-UX, Ultrix и др.), как неиспользуемых, мешающих последующим обновлениям, а частично просто неработающих.
- В isakmpd(8) реализация кодирования Диффи-Хелмана заменена аналогичной из состава нового «коллеги» iked(8), использующего libcrypto.
- Сетевой псевдодрайвер enc(4) был переработан. Теперь он может быть клонирован. Поддержка указания конкретного интерфейса добавлена в iked(8) и ipsecctl(8).
- Основательно переработана утилита tip(1).
- Убрана утилита learn(8), когда-то служившая для обучения основам Unix. Также убран ряд давно устаревших руководств по Unix из
/usr/share/doc
. - Убраны драйверы ss(4) (SCSI-сканеры) и usscanner(4) (SCSI-over-USB-сканеры). При этом надо не путать usscanner(4) с uscanner(4) (USB-сканеры). Причина — неиспользуемость, SANE всё равно требует драйвер общего назначения, uk(4).
- Добавлена поддержка getsockopt(SOL_SOCKET, SO_PEERCRED). В первую очередь эта опция понадобилась для современных DBus и (lib)gamin.
- Переименованы системные вызовы [gs]etrdomain(2) в [gs]etrtable(2). Сокеты (в том числе слушающие) теперь можно привязывать не только к доменам роутинга, но и вообще к таблицам роутинга.
- Вместо опции ядра RTHREADS (потоки уровня ядра) теперь существует соответствующий sysctl-переключатель. Он по-прежнему не рекомендуется к использованию, если вы не хотите принимать участие в разработке; собственно, это изменение продиктовано желанием облегчить эту самую разработку.
- Добавлена поддержка аппаратной акселерации шифрования в ядре для новых CPU Intel и VIA. Также в libssl взята из upstream OpenSSL акселерация AES-NI (прирост скорости примерно в 4,25 раза).
- Ещё ряд программ переведён на sndio(7), в том числе все поддерживаемые версии JDK. Также sndio-плагин в mplayer теперь умеет проигрывать 24-битный звук (сама libsndio умеет это делать, но имелись нюансы состыковки с mplayer).
- Добавлена поддержка ряда 3G-модемов и Ethernet-карт на чипах Intel и Realtek.
- Работа с оперативной памятью на платформе sparc теперь лучше учитывает специфику и возможности платформы.
- ACPI suspend/resume теперь работает заметно надёжнее при параллельной дисковой активности, особенно на AHCI-чипсетах; также исправлен ряд проблем в этой области с USB и ExpressCard.
- Так как современные SCSI- и SATA-диски имеют больше возможностей для эффективного управления своим вводом-выводом, было решено отдать это управление им на откуп. Результат — небольшое повышение уровня шума при последовательном доступе и 20-25% прирост производительности при случайном.
- При установке по сети использованный URL записывается в
/etc/pkg.conf
. Позднее этот файл может быть использован pkg-утилитами при отсутствии переменной окружения PKG_PATH. К слову, уже сейчас можно пользоваться одной утилитой, pkg(1), вместо pkg_add(1), pkg_delete(1) и так далее: так как весь функционал в реальности находится в соответствующих Perl-модулях, реальной разницы нет никакой. - Представлен ряд улучшений в ldapd(8), ldpd(8), mandoc(1), tmux(1) и pkg-утилитах. См. также предыдущую новость; ряд запланированных улучшений, в ней упомянутых, таких как доработка нового порта для PHP, уже реализован.
- В ходе хакатона активно обсуждалась смена версии по умолчанию для Python с 2.5 на 2.6 или 2.7. Утверждено решение — перейти на Python 2.6, так как эта версия уже протестирована многими разработчиками, а отладить 2.7 до выхода OpenBSD 4.8, очевидно, не удастся. 2.5 останется в дереве портов из-за нескольких приложений, некорректно работающих в среде Python 2.6. Переключение ожидается в течение ближайших дней, после дополнительного тестирования.
Все эти изменения произошли благодаря традиционному ежегодному канадскому хакатону, проведённого в этом году в Эдмонтоне. Спасибо всем, кто помог финансовым и/или организационным путём. Увеличить количество и качество хакатонов может любой желающий.
Полный текст статьи читайте на OpenNet